È 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
- Accedere o accedere tramite SSH come root al sistema operativo di tutti i nodi in esecuzione nel cluster.
- Sostituire l'utente con postgres.
sudo -i -u postgres
- 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
- (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.
- Connettersi al terminale psql
/opt/vmware/vpostgres/current/bin/psql
- Per espandere la visualizzazione e rendere più semplice la lettura dei risultati delle query, eseguire il comando
set \x
. - 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;
- Connettersi al terminale psql