2015-04-02 7:42 GMT-03:00 Fernando Cambiaghi <[email protected]>:

> Porque os arquivos com nome terminando entre 63 e 69 não foram copiados?
> Eu estou acompanhando, e pela sequencia que está sendo executada, o
> arquivo 63 será copiado quando o arquivo de final 6B for criado, mas eu
> realmente tinha entendido outra coisa.
>
> Pelo que entendi, todos os arquivos exceto o final 6A deveriam ter sido
> copiados.
>

Você só se esqueceu de um detalhe: o PostgreSQL não apaga os xlogs já
utilizados, ao invés disso estes são reciclados. Ou seja, no seu caso o
PostgreSQL usou o arquivo 62, e, ao invés de simplesmente apagá-lo, este
foi renomeado, provavelmente 6A. Veja então que o PostgreSQL não está
atualmente trabalhando no arquivo 6A, mas em algum antes disso
(possivelmente 63), para verificar em que arquivo ele está trabalhando,
execute o seguinte comando SQL:

    SELECT pg_xlogfile_name(pg_current_xlog_insert_location());

Este vai te retornar o segmento de log em que o PostgreSQL está trabalhando
(escrevendo) atualmente, os mais antigos estão prontos para ser arquivados
e reciclados (ou removidos) e os mais novos estão prontos para serem
reutilizados.

Vale ressaltar que o processo que arquiva esses logs e o que escreve neles
(faz a reciclagem, remoção, etc.) são processos diferentes, por isso esse
processo não é síncrono, mas em geral acontece bem rápido.

Pra finalizar, a quantidade de arquivos que permanecem na pg_xlog tende a
ser a constante [1]: (2 + checkpoint_completion_target) *
checkpoint_segments + 1 ou checkpoint_segments + wal_keep_segments + 1,
isso varia em momentos de alta atividade de escrita, entretanto.

[1] http://www.postgresql.org/docs/current/static/wal-configuration.html

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a