Contexto:
Digamos que, mientras se usa Streaming Replication / Hot Standby en un clúster de Postgres 9.1, un nodo en espera se cae. Permanece inactivo durante un día, durante el cual se produce una gran cantidad de DML en el maestro. Recovery.conf del standby no contiene una entrada 'restore_command' (para restaurar desde archivos de diario WAL), pero contiene una cadena 'primary_conninfo' (para Streaming Replication).
Pregunta:
Si vuelvo a iniciar el modo de espera después de un día de cambios en el maestro. ¿Se "pondrá al día" (eventualmente entrará en un estado que refleja el maestro) usando solo la replicación de transmisión? ¿O tengo que habilitar el archivo de archivos WAL y dejar que aplique los archivos archivados durante la interrupción para garantizar la vigencia?
He comprobado el documento de replicación de archivo / transmisión WAL aquí , y dice que no tiene que habilitar tanto el archivo WAL como la replicación de transmisión, pero no está claro si la recuperación se realizará o no sin el archivo WAL habilitado.
¡Gracias!
fuente
en el nodo en espera, puede establecer restore_command en recovery.conf y luego copiar los archivos maestros pg_xlog (que faltan en standby) en la carpeta que restaura los puntos de comando. Puede encontrar fácilmente qué archivos xlog faltan iniciando el nodo de inicio y escribiendo
verá allí "esperando 000000020000005200000025" o algo así, que le indica qué pg_xlog debe comenzar a copiar desde el maestro a la ruta de restauración del comando standby.
si habilita wal_archiving, comenzará a archivarse desde el momento en que lo configure.
fuente
No, configuré una instancia de replicación de transmisión y, de alguna manera, no se sincronizó, no pude volver a hacerlo funcionar hasta que hice un manual
rsync
de los archivos de WAL.fuente