Le contexte:
Disons que, lors de l'utilisation de Streaming Replication / Hot Standby sur un cluster Postgres 9.1, un nœud de secours tombe en panne. Il reste inactif pendant une journée, période pendant laquelle beaucoup de DML se produit sur le maître. Le fichier recovery.conf du serveur de secours ne contient pas d'entrée «restore_command» (pour la restauration à partir de fichiers journaux WAL), mais contient une chaîne «primary_conninfo» (pour Streaming Replication).
Question:
Si je redémarre la veille après une journée de changements sur le master. Sera-t-il "rattrapé" (finira par entrer dans un état qui reflète le maître) en utilisant uniquement la réplication en streaming? Ou dois-je activer l'archivage des fichiers WAL et le laisser appliquer les fichiers archivés pendant la panne pour garantir l'actualité?
J'ai vérifié le document d'archivage / réplication de streaming WAL ici , et il est dit que vous n'avez pas à activer à la fois l'archivage WAL et la réplication de streaming, mais il n'est pas clair si le rattrapage se produira ou non sans l'archivage de fichiers WAL activé.
Merci!
la source
sur le noeud de secours, vous pouvez définir restore_command sur recovery.conf, puis copier les fichiers maîtres pg_xlog (qui manquent en veille) dans le dossier que points restore_command. Vous pouvez facilement trouver les fichiers xlog manquants en démarrant le nœud de démarrage et en tapant
vous y verrez "en attente de 000000020000005200000025" ou quelque chose comme ça, qui vous indiquera quel pg_xlog vous devriez commencer à copier du maître vers le chemin restore_command du standby.
si vous activez wal_archiving, il commencera l'archivage à partir du moment où vous avez configuré.
la source
Non, j'ai mis en place une instance de réplication en streaming et elle s'est désynchronisée d'une manière ou d'une autre, je n'ai pas pu la faire fonctionner à nouveau avant d'avoir fait un manuel
rsync
des archives WAL.la source