Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Messung der Replikationsverzögerung zwischen pgactive-Mitgliedern
Sie können die folgende Abfrage verwenden, um die Replikationsverzögerung zwischen den pgactive
Mitgliedern anzuzeigen. Führen Sie diese Abfrage auf jedem pgactive
Knoten aus, um sich ein vollständiges Bild zu machen.
app=> SELECT * FROM pgactive.pgactive_get_replication_lag_info();
│-[ RECORD 1 ]--------+---------------------------------------------
│node_name | node2-app
│node_sysid | 7481018224801653637
│application_name | pgactive:7481018224801653637:send
│slot_name | pgactive_16385_7481018224801653637_0_16385__
│active | t
│active_pid | 783486
│pending_wal_decoding | 0
│pending_wal_to_apply | 0
│restart_lsn | 0/2108150
│confirmed_flush_lsn | 0/2154690
│sent_lsn | 0/2154690
│write_lsn | 0/2154690
│flush_lsn | 0/2154690
│replay_lsn | 0/2154690
│-[ RECORD 2 ]--------+---------------------------------------------
│node_name | node1-app
│node_sysid | 7481018033434600853
│application_name | pgactive:7481018033434600853:send
│slot_name | pgactive_16385_7481018033434600853_0_16385__
│active | t
│active_pid | 783488
│pending_wal_decoding | 0
│pending_wal_to_apply | 0
│restart_lsn | 0/20F5AD0
│confirmed_flush_lsn | 0/214EF68
│sent_lsn | 0/214EF68
│write_lsn | 0/214EF68
│flush_lsn | 0/214EF68
│replay_lsn | 0/214EF68
Überwachen Sie mindestens die folgenden Diagnosen:
- aktiv
-
Richten Sie Benachrichtigungen ein, wenn active den Wert false hat, was darauf hinweist, dass der Slot derzeit nicht verwendet wird (die Abonnenteninstanz hat die Verbindung zum Publisher getrennt).
- pending_wal_decoding
-
Bei der logischen Replikation von PostgreSQL werden WAL-Dateien im Binärformat gespeichert. Der Herausgeber muss diese WAL-Änderungen dekodieren und in logische Änderungen umwandeln (z. B. Einfüge-, Aktualisierungs- oder Löschvorgänge).
Die Metrik pending_wal_decoding zeigt die Anzahl der WAL-Dateien, die auf der Herausgeberseite darauf warten, dekodiert zu werden.
Diese Zahl kann aufgrund der folgenden Faktoren steigen:
-
Wenn der Abonnent nicht verbunden ist, wird der Status „Aktiv“ auf „Falsch“ gesetzt und der Wert pending_wal_decoding wird erhöht
-
Der Slot ist aktiv, aber der Publisher kann mit der Menge der WAL-Änderungen nicht Schritt halten
-
- pending_wal_to_apply
-
Die Metrik pending_wal_apply gibt die Anzahl der WAL-Dateien an, die auf Abonnentenseite darauf warten, angewendet zu werden.
Verschiedene Faktoren können verhindern, dass der Abonnent Änderungen vornimmt, und möglicherweise zu einem Szenario führen, dass die Festplatte voll ist:
-
Schemaunterschiede — zum Beispiel, wenn Sie Änderungen im WAL-Stream für eine Tabelle mit dem Namen sample haben, diese Tabelle aber auf der Abonnentenseite nicht existiert
-
Die Werte in den Primärschlüsselspalten wurden aktualisiert
-
Sekundäre eindeutige Indizes können zu Datendivergenzen führen
-