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

  1. 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.
  2. Remplacez l'utilisateur par postgres.
    sudo -i -u postgres
  3. 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
  4. (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.
    1. Connectez-vous au terminal psql
      /opt/vmware/vpostgres/current/bin/psql
    2. Pour développer l'affichage et faciliter la lecture des résultats de la requête, exécutez la commande set \x.
    3. 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;