6

Je suis en train d'obtenir la réplication en continu en cours d'exécution sur postgresql 9.0. Je suis les étapes comme mentionné dans le lien: http://brandonkonkle.com/blog/2010/oct/20/postgres-9-streaming-replication-and-django-balanc/Erreur de postgresql 9.0 archivage lors de la configuration de la réplication en continu à chaud

Quand j'essaye d'exécuter une commande d'archivage sur postgresql, j'obtiens l'avertissement me demandant d'attendre sans fin. J'exécute les commandes dans l'ordre suivant:

SELECT pg_start_backup('base_backup'); 

cd /var/lib/postgresql/9.0/ 
sudo tar -cjf ~/postgres-data.tar.bz2 main 

SELECT pg_stop_backup(); 

Pour cela, je reçois la sortie suivante:

NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived 
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (60 seconds elapsed) 
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments. 
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (120 seconds elapsed) 
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments. 

Cela permet de continuer plus loin et l'avertissement ne se termine jamais. S'il vous plaît laissez-moi savoir si quelqu'un a fait face à ce problème.

Répondre

1

Vous avez mis en place un archive_command tel que décrit dans le lien que vous spécifiez? Copie-t-il réellement les fichiers xlog dans un emplacement sûr correctement? La sortie du serveur suggère qu'elle ne l'est pas, et qu'un backlog est en train de se former à l'intérieur pg_xlog

Je crois me souvenir que vous n'avez pas vraiment besoin que l'archivage soit activé sur le serveur pour l'utiliser comme maître dans une réplique . Vous avez besoin d'avoir wal_level ensemble à hot_standby. Avec ce paramètre, votre réplica peut se connecter au maître pour diffuser des enregistrements xlog indépendamment du processus d'archivage xlog traditionnel. Essayez donc de définir archive_mode=off.

modifier: en lisant le lien plus en détail, vous devez définir archive_mode pour créer la sauvegarde de base, ce qui est logique. Par conséquent, vous pouvez soit corriger la commande d'archivage afin de pouvoir prendre la sauvegarde de base correctement, soit effectuer une sauvegarde de base lorsque le serveur est arrêté.

1

Si vous voulez juste utiliser le nouveau SR à la page 9, ne mélangez même pas l'archivage. J'avais des problèmes avec ça au début aussi. J'ai écrit un didacticiel d'installation barebones sans archivage qui réplique un maître à un esclave: http://eggie5.com/15-setting-up-pg9-streaming-replication

1

Pourriez-vous s'il vous plaît vérifier la permission sur le dossier où vont les fichiers WAL Archive. Cela peut être le problème que l'utilisateur qui possède la base de données n'a pas l'autorisation d'écriture sur ce dossier, c'est pourquoi il ne parvient pas à écrire le fichier WAL dans ce dossier. Veuillez utiliser chmod et modifier les permissions sur ce dossier. Cela pourrait résoudre le problème.

Cordialement.

Questions connexes