Eu tenho uma replicação de streaming em execução entre dois servidores.
Acabei de atualizar para postgresql 9.3 de 9.2. Anteriormente, em minha configuração 9.2, tentei que meu servidor escravo ficasse offline devido a uma queda de rede. Isso resultou em arquivos wal-log não enviados se acumulando e ocupando espaço MUITO rápido em meu servidor mestre.
Posso evitar isso de maneira fácil em 9.3?
Eu vi a nova configuração wal_sender_timeout , mas não tenho certeza do que exatamente ela faz.
Qual é a melhor maneira de evitar que arquivos wal se acumulem no remetente se o destinatário ficar offline no 9.3?
Defina
wal_keep_segments
um valor baixo o suficiente para que o WAL seja descartado antes de serpg_xlog
preenchido.Se você também estiver usando o arquivamento do WAL com um
archive_command
, o Pg continuará tentando até enviar o WAL com sucesso ou ficar sem espaço. Não faça com que seu mestre copie o WAL diretamente para a réplica; em vez disso, coloque-o em algum armazenamento confiável de alta disponibilidade ao qual a réplica também tenha acesso.