È possibile utilizzare Replication Manager Tool Suite e il terminale interattivo PostgreSQL per verificare lo stato di replica dei singoli nodi in un cluster a disponibilità elevata del database.

Procedura

  1. Accedere o accedere tramite SSH come root al sistema operativo di tutti i nodi in esecuzione nel cluster.
  2. Sostituire l'utente con postgres.
    sudo -i -u postgres
  3. Controllare lo stato della replica del nodo.
    /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf node status
    L'output di sistema per il nodo primario fornisce informazioni sul nodo, sulla versione di PostgreSQL e sui dettagli della replica. Ad esempio:
    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
    
    L'output di sistema per un nodo di standby fornisce informazioni sul nodo, sulla versione di PostgreSQL, sui dettagli della replica e su un nodo upstream. Ad esempio:
    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. (Facoltativo) Per informazioni più dettagliate, utilizzare il terminale interattivo PostgreSQL per verificare lo stato di replica dei nodi.
    Il terminale interattivo PostgreSQL può fornire informazioni sulla possibilità che uno qualsiasi dei record del registro ricevuti dei nodi di standby sia in ritardo rispetto ai registri inviati dal nodo primario.
    1. Connettersi al terminale psql
      /opt/vmware/vpostgres/current/bin/psql
    2. Per espandere la visualizzazione e rendere più semplice la lettura dei risultati delle query, eseguire il comando set \x.
    3. Eseguire una query sullo stato della replica in base al ruolo del nodo.
      Opzione Azione

      Eseguire una query sul nodo primario.

      select* from pg_stat_replication;

      Eseguire una query su un nodo di standby.

      select* from pg_stat_wal_receiver;