Contexto:
Digamos que, enquanto estiver usando o Streaming Replication / Hot Standby em um cluster do Postgres 9.1, um nó em espera será desativado. Ele fica inativo por um dia, durante o qual ocorre muita DML no mestre. O recovery.conf do modo de espera não contém uma entrada 'restore_command' (para restaurar a partir de arquivos de diário WAL), mas contém uma string 'primary_conninfo' (para Replicação de Streaming).
Questão:
Se eu iniciar o modo de espera novamente após um dia de alterações no mestre. Ele "alcançará" (eventualmente entrará em um estado que espelha o mestre) usando apenas a replicação de fluxo? Ou tenho que ativar o arquivamento de arquivos WAL e deixá-lo aplicar os arquivos arquivados durante a interrupção para garantir a moeda?
Verifiquei o documento de replicação de arquivamento / streaming do WAL aqui e ele diz que você não precisa habilitar o arquivamento do WAL e a replicação de streaming, mas não está claro se a recuperação ocorrerá ou não sem o arquivamento do arquivo WAL.
Obrigado!
fonte
no nó em espera, é possível definir restore_command em recovery.conf e copiar os arquivos mestres pg_xlog (que estão ausentes no modo de espera) para a pasta na qual os pontos restore_command. Você pode encontrar facilmente quais arquivos xlog estão faltando iniciando o nó de inicialização e digitando
você verá "aguardando 000000020000005200000025" ou algo assim, que informa qual pg_xlog você deve começar a copiar do mestre para o caminho restore_command do modo de espera.
se você ativar o wal_archiving, o arquivo será iniciado a partir do momento em que você configurar.
fonte
Não, configurei uma instância de replicação de streaming e ela ficou fora de sincronia, de alguma forma, não consegui fazê-la funcionar novamente até que eu fiz um manual
rsync
dos arquivos do WAL.fonte