Vous pouvez utiliser la suite d'outils de Replication Manager et le terminal interactif PostgreSQL pour vérifier l'état de réplication des nœuds individuels d'un cluster haute disponibilité de base de données.
Procédure
- Connectez-vous en tant qu'utilisateur racine au système d'exploitation de l'un des nœuds en cours d'exécution dans le cluster ou ouvrez une session SSH sur celui-ci.
- Remplacez l'utilisateur par postgres.
sudo -i -u postgres
- Vérifiez l'état de réplication du nœud.
/opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf node status
La sortie système du nœud principal fournit des informations sur le nœud, la version de PostgreSQL et les détails de la réplication. Par exemple :Node "bos1-vcloud-static-161-5": PostgreSQL version: 10.9 Total data size: 81 MB Conninfo: host=172.18.36.193 user=repmgr dbname=repmgr connect_timeout=2 Role: primary WAL archiving: off Archive command: (none) Replication connections: 2 (of maximal 10) Replication slots: 0 physical (of maximal 10; 0 missing) Replication lag: n/a
La sortie système d'un nœud en veille fournit des informations sur le nœud, la version de PostgreSQL, les détails de la réplication et un nœud en amont. Par exemple :Node "bos1-vcloud-static-161-49": PostgreSQL version: 10.9 Total data size: 83 MB Conninfo: host=172.18.36.191 user=repmgr dbname=repmgr connect_timeout=2 Role: standby WAL archiving: off Archive command: (none) Replication connections: 0 (of maximal 10) Replication slots: 0 physical (of maximal 10; 0 missing) Upstream node: bos1-vcloud-static-161-48 (ID: 683) Replication lag: 0 seconds Last received LSN: 2/D863B4E0 Last replayed LSN: 2/D863B4E0
- (Facultatif) Pour obtenir des informations plus détaillées, utilisez le terminal interactif PostgreSQL pour vérifier l'état de réplication des nœuds.
Le terminal interactif PostgreSQL peut fournir des informations indiquant si des enregistrements de journaux reçus des nœuds en veille sont en retard par rapport aux journaux envoyés par le nœud principal.
- Connectez-vous au terminal psql
/opt/vmware/vpostgres/current/bin/psql
- Pour développer l'affichage et faciliter la lecture des résultats de la requête, exécutez la commande
set \x
. - Exécutez une requête d'état de réplication en fonction du rôle du nœud.
Option Action Exécutez une requête sur le nœud principal.
select* from pg_stat_replication;
Exécutez une requête sur un nœud en veille.
select* from pg_stat_wal_receiver;
- Connectez-vous au terminal psql