Eu configurei archive_timeout = 5
(ou seja, 5 segundos) para um banco de dados PostgreSQL 9.6 para realizar testes em torno da recuperação pontual. My archive_command
invoca cp
em um diretório de arquivo local.
Se eu verificar as datas de modificação do arquivo nesse diretório de arquivo local, vejo que os arquivos WAL são normalmente criados lá apenas aprox. a cada 20 segundos de intervalo, ou seja, muito mais do que os 5 segundos configurados. Isto é para o PostgreSQL 9.6 rodando dentro de um container Docker em um sistema levemente carregado.
O que poderia explicar essa grande discrepância?
A documentação tem uma resposta para isso:
Com base em sua observação e na citação acima, acho que você tem um ponto de verificação a cada 20 segundos ou mais e uma taxa muito baixa de alterações.