一,pg_stat_replication
postgres=# select * from pg_stat_replication ; -[ RECORD 1 ]----+----------------------------- pid | 1219 usesysid | 16799 usename | replica application_name | walreceiver client_addr | 192.168.0.187 client_hostname | client_port | 41760 backend_start | 2020-06-12 10:48:09.57447+08 backend_xmin | state | streaming sent_lsn | 2/100001B0 write_lsn | 2/100001B0 flush_lsn | 2/100001B0 replay_lsn | 2/100001B0 write_lag | flush_lag | replay_lag | sync_priority | 0 sync_state | async
pid: WAL發送進程的進程號。
usename: WAL發送進程的數據庫用戶名。
application_name:連接WAL發送進程的應用別名,此參數顯示值為備庫
recovery.conf配置文件中primary_conninfo參數application_name選項的值。
client_addr:連接到WAL發送進程的客戶端IP地址,也就是備庫的IP。
backend start: WAL發送進程的啟動時間。
state:顯示WAL發送進程的狀態,startup表示WAL進程在啟動過程中;catchup表示備庫正在追趕主庫;streaming表示備庫已經追趕上了主庫,並且主庫向備庫發送WAL日志流,這個狀態是流復制的常規狀態;backup表示通過pg_basebackup正在進行備份;stopping表示WAL發送進程正在關閉。
sentlsn: WAL發送進程最近發送的WAL日志位置。
write lsn:備庫最近寫人的WAL日志位置,這時WAL日志流還在操作系統緩存中,還沒寫人備庫WAL日志文件。
flush lsn:備庫最近寫人的WAL日志位置,這時WAL日志流已寫入備庫WAL日志文件。
replay lsn:備庫最近應用的WAL日志位置。
write_lag:主庫上WAL日志落盤后等待備庫接收WAL日志(這時WAL日志流還沒寫人備庫WAL日志文件,還在操作系統緩存中)並返回確認信息的時間。
flush_lag:主庫上WAL日志落盤后等待備庫接收WAL日志(這時WAL日志流已寫人備庫WAL日志文件,但還沒有應用WAL日志)井返回確認信息的時間。
replay_lag:主庫上WAL日志落盤后等待備庫接收WAL日志(這時WAL日志流已寫入備庫WAL日志文件,並且己應用WAL日志)並返回確認信息的時間。
sync _priority:基於優先級的模式中備庫被選中成為同步備庫的優先級,對於基於quorum的選舉模式此字段則無影響。
sync_state:同步狀態,有以下狀態值,async表示備庫為異步同步模式;potential表示備庫當前為異步同步模式,如果當前的同步備庫岩機,
異步備庫可升級成為同步備庫;sync表示當前備庫為同步模式;quorum表示備庫為quorumstandbys的候選,
其中write_lag、flush一lag、replay_lag三個字段為PostgreSQL10版本新特性,是衡量主備延遲的重要指標
一,pg_stat_re
[Yī,pg_stat_replication]

A, pg_stat_replication