Replication Manager Tool Suite 및 PostgreSQL 대화형 터미널을 사용하여 데이터베이스 고가용성 클러스터에서 개별 노드의 복제 상태를 확인할 수 있습니다.

프로시저

  1. 클러스터에서 실행 중인 노드의 OS에 root로 로그인하거나 SSH를 통해 로그인합니다.
  2. 사용자를 postgres로 변경합니다.
    sudo -i -u postgres
  3. 노드의 복제 상태를 확인합니다.
    /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf node status
    기본 노드에 대한 시스템 출력은 노드 정보, PostgreSQL 버전에 대한 정보 및 복제 세부 정보를 제공합니다. 예는 다음과 같습니다.
    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
    
    대기 노드에 대한 시스템 출력은 노드 정보, PostgreSQL 버전에 대한 정보, 복제 세부 정보 및 업스트림 노드에 대한 정보를 제공합니다. 예는 다음과 같습니다.
    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. (선택 사항) 자세한 정보를 보려면 PostgreSQL 대화형 터미널을 사용하여 노드의 복제 상태를 확인하십시오.
    PostgreSQL 대화형 터미널은 대기 노드의 수신된 로그 레코드가 기본 노드가 보낸 로그보다 뒤쳐져 있는지 여부에 대한 정보를 제공할 수 있습니다.
    1. psql 터미널에 연결합니다.
      /opt/vmware/vpostgres/current/bin/psql
    2. 디스플레이를 확장하고 쿼리 결과를 읽기 쉽게 만들려면 set \x 명령을 실행합니다.
    3. 노드의 역할에 따라 복제 상태 쿼리를 실행합니다.
      옵션 작업

      기본 노드에서 쿼리를 실행합니다.

      select* from pg_stat_replication;

      대기 노드에서 쿼리를 실행합니다.

      select* from pg_stat_wal_receiver;