Puede utilizar Replication Manager Tool Suite y el terminal interactivo de PostgreSQL para comprobar el estado de replicación de nodos individuales en un clúster de alta disponibilidad de la base de datos.

Procedimiento

  1. Inicie sesión o utilice SSH como root en el sistema operativo de cualquiera de los nodos en ejecución del clúster.
  2. Cambie el usuario a postgres.
    sudo -i -u postgres
  3. Compruebe el estado de replicación del nodo.
    /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf node status
    Los resultados del sistema para el nodo principal proporcionan información sobre el nodo, la versión de PostgreSQL y los detalles de replicación. Por ejemplo:
    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
    
    Los resultados del sistema para un nodo en espera proporcionan información sobre el nodo, la versión de PostgreSQL, los detalles de replicación y un nodo ascendente. Por ejemplo:
    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. (opcional) Si desea obtener información más detallada, utilice el terminal interactivo de PostgreSQL para comprobar el estado de replicación de los nodos.
    El terminal interactivo de PostgreSQL puede proporcionar información en torno a si alguno de los registros recibidos de los nodos en espera está desactualizado en relación con los registros que envió el nodo principal.
    1. Conéctese al terminal de psql.
      /opt/vmware/vpostgres/current/bin/psql
    2. Para expandir la pantalla y facilitar la lectura de los resultados de la consulta, ejecute el comando set \x.
    3. Ejecute una consulta de estado de replicación según la función del nodo.
      Opción Acción

      Ejecute una consulta en el nodo principal.

      select* from pg_stat_replication;

      Ejecute una consulta en un nodo en espera.

      select* from pg_stat_wal_receiver;