On 26-10-2016 12:34, Cleiton Luiz Domazak wrote:
> Será que não são justamente os arquivos gerados pelo timeout que não são
> processados, por não possuírem nenhuma escrita? E acabam sendo
> arquivados somente quando é feita a "limpa" dos mais antigos?
>
[Corte o irrelevante... Tá ficando difícil ler essa thread]
Basta olhar o arquivo de log de transação atual. Veja o comportamento
abaixo:
euler=# select pg_xlogfile_name(pg_current_xlog_location());
pg_xlogfile_name
--------------------------
000000010000000000000001
(1 registro)
euler=# select pg_switch_xlog();
pg_switch_xlog
----------------
0/14EFCE0
(1 registro)
euler=# select pg_xlogfile_name(pg_current_xlog_location());
pg_xlogfile_name
--------------------------
000000010000000000000001
(1 registro)
euler=# checkpoint;
euler=# select pg_xlogfile_name(pg_current_xlog_location());
pg_xlogfile_name
--------------------------
000000010000000000000002
(1 registro)
euler=# select pg_switch_xlog();
pg_switch_xlog
----------------
0/20000B0
(1 registro)
euler=# select pg_xlogfile_name(pg_current_xlog_location());
pg_xlogfile_name
--------------------------
000000010000000000000002
(1 registro)
euler=# create table foo ();
euler=# select pg_xlogfile_name(pg_current_xlog_location());
pg_xlogfile_name
--------------------------
000000010000000000000003
(1 registro)
Observe que apesar da chamada pg_switch_xlog(), o postgres não troca
imediatamente o arquivo atual, no entanto, alguma escrita ou checkpoint
(apesar do postgres fazer checkpoint periódicos eles podem demorar de
acordo com o que foi configurado) força essa mudança imediata (o Flavio
já comentou isso a alguns emails acima).
PS> eu não colocaria um timeout de 60s porque seria 1440 * 16 MB = 22,5
GB / dia. Se não quer perder transação use replicação ou pg_receivexlog.
--
Euler Taveira Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral