Em 17-05-2011 09:53, Flavio Henrique Araque Gurgel escreveu: >> archive_mode = on >> archive_command = 'rsync -az --remove-sent-files %p > > Ooops... por que "--remove-sent-files"? > Os logs já arquivados estão sendo removidos? Isso pode ser a causa do > erro que você está vendo. Dá uma olhada, o arquivo que o PostgreSQL tá > pedindo ainda está no seu diretório de arquivados? > Não queira ser mais esperto que o PostgreSQL. Com o comando acima você está removendo arquivos do log de transação _sem_ que o PostgreSQL "saiba". Uma queda (crash) poderia deixar o seu servidor principal sem a capacidade de retornar ao ponto que estava antes da queda.
O correto é remover somente arquivos do log de transação que estão antes do último restartpoint (ponto de partida de uma restauração), ou seja, é melhor deixar quem sabe fazer isso (pg_archivecleanup [1]). Vale lembrar que esse comando é útil somente naqueles cenários onde há somente um servidor secundário pois ele pode remover arquivos que ainda são necessários por outros servidores secundários. >> postgres@ip:/diretorio_logs_transacao/%f' >> Eu aconselharia manter os logs arquivados em outro local. Por quê? O restore_command espera um sucesso para cópia do arquivo mas se o arquivo já está no local você pode obter uma falha do tipo "foo" e "foo" são o mesmo arquivo. >> wal_keep_segments = 3 > > Se seus logs estão sendo apagados, com a taxa de escrita que estou > pressupondo, este parâmetro está baixo. > Não. Esse parâmetro só é útil se eu não estou arquivando os logs. No seu caso, pode deixar wal_keep_segments = 0 pois os arquivos necessários pelo secundário estarão arquivados. [1] http://www.postgresql.org/docs/9.0/static/pgarchivecleanup.html -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral