Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 14/05/2012 10:50:14
- genio
- Membre
Comment detecter un serveur maître et un serveur esclave
Bonjour à tous...
Nous avions installé une appli avec deux serveurs en maître/esclave en 'log shipping' => OK
Nous avons un traitement batch le soir et voulons sauvegarder nos wal par un script qui lancerait : START_BACKUP/Copie des wall/ STOP_BACKUP => OK
Nous voulons faire exécuter les sauvegardes uniquement sur le serveur Maître => Ok
Imaginons un clash du serveur maître et un switch sur l'esclave => Ok
L'esclave devenant le maître, il faut que les traitements de sauvegarde prennent la main sur le nouveau maître => Ok...
Comment savoir, par un script, que nous sommes sur le serveur maître ?
merci pour vos réponses...
Hors ligne
#2 14/05/2012 11:27:40
- rjuju
- Administrateur
Re : Comment detecter un serveur maître et un serveur esclave
Bonjour.
Pour sauvegarder les wal il est inutile de faire un start_backup. Par contre, ces wal sont inutiles sans une sauvegarde des fichiers du répertoire data, et là il est nécessaire de faire un start_backup et stop_backup.
Pour savoir si vous êtes sur le maître ou l'esclave, vous pouvez faire un select pg_is_in_recovery();
Julien.
https://rjuju.github.io/
Hors ligne
#3 14/05/2012 12:08:43
- genio
- Membre
Re : Comment detecter un serveur maître et un serveur esclave
Merci pour votre réponse...
Hors ligne
#4 17/05/2012 15:38:56
- cedric
- Membre
Re : Comment detecter un serveur maître et un serveur esclave
Il faut utiliser l'outil pg_controldata par exemple, qui permet de savoir quel est le statut actuel d'un serveur.
Si on peut se connecter sur le serveur il est possible d'utiliser: pg_is_in_recovery()
Cédric Villemain +33 (0)6 20 30 22 52
http://2ndQuadrant.fr/
PostgreSQL: Support 24x7 - Développement, Expertise et Formation
Hors ligne