Sie können die Replication Manager-Tool-Suite und das interaktive PostgreSQL-Terminal verwenden, um den Replizierungsstatus einzelner Knoten in einem Datenbank-Hochverfügbarkeits-Cluster zu überprüfen.

Prozedur

  1. Melden Sie sich, bei Bedarf mithilfe von SSH, als root beim Betriebssystem eines der aktiven Knoten im Cluster an.
  2. Ändern Sie den Benutzer in postgres.
    sudo -i -u postgres
  3. Überprüfen Sie den Replizierungsstatus des Knotens.
    /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf node status
    Die Systemausgabe für den primären Knoten liefert Informationen zum Knoten, zur PostgreSQL-Version und zu den Replizierungsdetails. Beispiel:
    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
    
    Die Systemausgabe für einen Standby-Knoten liefert Informationen zum Knoten, zur PostgreSQL-Version, zu den Replizierungsdetails und zu einem Upstream-Knoten. Beispiel:
    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. (Optional) Für detailliertere Informationen verwenden Sie das interaktive PostgreSQL-Terminal, in dem Sie den Replizierungsstatus der Knoten überprüfen können.
    Das interaktive PostgreSQL-Terminal kann Informationen darüber liefern, ob die empfangenen Protokolldatensätze der Standby-Knoten hinter den vom primären Knoten gesendeten Protokollen zurückbleiben.
    1. Stellen Sie eine Verbindung zum psql-Terminal her.
      /opt/vmware/vpostgres/current/bin/psql
    2. Um die Anzeige zu erweitern und die Abfrageergebnisse leichter lesbar zu machen, führen Sie den Befehl set \x aus.
    3. Führen Sie eine Replizierungsstatusabfrage je nach der Rolle des Knotens aus.
      Option Aktion

      Führen Sie eine Abfrage auf dem primären Knoten aus.

      select* from pg_stat_replication;

      Führen Sie eine Abfrage auf einem Standby-Knoten aus.

      select* from pg_stat_wal_receiver;