Postgres主从(4)复制视图

本文介绍如何使用PostgreSQL的pg_stat_replication和pg_stat_wal_receiver视图监控主从复制状态,包括WAL发送进程和接收进程的状态、客户端信息、复制进度及延迟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主服务器复制视图

SELECT * FROM pg_stat_replication;
类型描述
pidinteger一个 WAL 发送进程的进程 ID
usesysidoid登录到这个 WAL 发送进程的用户的 OID
usenamename登录到这个 WAL 发送进程的用户的名称
application_nametext连接到这个 WAL 发送进程的应用的名称
client_addrinet连接到这个 WAL 发送进程的客户端的 IP 地址。 如果这个域为空,它表示该客户端通过服务器机器上的一个 Unix 套接字连接。
client_hostnametext连接上的客户端的主机名,由一次对client_addr 的逆向 DNS 查找报告。这个域将只对 IP 连接非空,并且只有在 log_hostname被启用时非空
client_portinteger客户端用来与这个 WAL 发送进程通讯的 TCP 端口号, 如果使用 Unix 套接字则为-1
backend_starttimestamp with time zone这个进程开始的时间,即客户端是何时连接到这个 WAL 发送进程的
backend_xminxid由hot_standby_feedback报告 的这个后备机的xmin水平线。
statetext当前的 WAL 发送进程状态 可能的值是:
startup: 这个 WAL 发送进程正在启动。
catchup: 这个 WAL 发送进程连接的备用服务器正在追赶主服务器。
streaming: 这个 WAL 发送进程在其连接的备用服务器追赶上主服务器之后传输更改。
backup: 这个 WAL 发送进程正在发送一个备份。
stopping: 这个 WAL 发送进程正在停止。
sent_lsnpg_lsn在这个连接上发送的最后一个预写日志的位置
write_lsnpg_lsn被这个后备服务器写入到磁盘的最后一个预写日志的位置
flush_lsnpg_lsn被这个后备服务器刷入到磁盘的最后一个预写日志的位置
replay_lsnpg_lsn被重放到这个后备服务器上的数据库中的最后一个预写日志的位置
write_laginterval从本地刷新最近的WAL到接收到该备用服务器已经写入它(但尚未刷新或应用它) 的通知之间所经过的时间。如果将此服务器配置为同步备用服务器, 则可以用它来测量在提交时发生的synchronous_commit 级别的remote_write的延迟。
flush_laginterval从本地刷新最近的WAL到接收到该备用服务器写入并刷新它 (但尚未应用它)的通知之间的时间间隔。如果将此服务器配置为同步备用服务器, 则可以用它来测量在提交时发生的synchronous_commit 级别的remote_flush的延迟。
replay_laginterval从本地刷新最近的WAL到接收到该备用服务器写入、 刷新并应用它的通知之间的时间间隔。如果将此服务器配置为同步备用服务器, 则可以用它来测量在提交时发生的synchronous_commit 级别的remote_apply的延迟。
sync_priorityinteger此备用服务器的优先级被选为基于优先级的同步复制中的同步备用服务器。 这在基于定量的同步复制中不起作用。
sync_statetext这个后备服务器的同步状态 可能的值是:
async: 该备用服务器是异步的。
potential: 此备用服务器现在是异步的,但如果当前同步服务器中的一个出现故障,可能会变为同步服务器。
sync: 该备用服务器是同步的。
quorum: 此备用服务器被视为仲裁备用服务器的候选人。

从服务器接收视图

SELECT * FROM pg_stat_wal_receiver;
类型描述
pidintegerWAL 接收器进程的进程 ID
statustextWAL 接收器进程的活动状态
receive_start_lsnpg_lsnWAL 接收器启动时使用的第一个预写日志位置
receive_start_tliintegerWAL 接收器启动时使用的第一个时间线编号
received_lsnpg_lsn已经接收到并且已经被杀入磁盘的最后一个预写日志的位置,这个域的初始值是 WAL 接收器启动时使用的第一个日志位置
received_tliinteger已经接收到并且已经被杀入磁盘的最后一个预写日志的时间线编号,这个域的初始值是 WAL 接收器启动时使用的第一个日志所在的时间线编号
last_msg_send_timetimestamp with time zone从源头 WAL 发送器接收到的最后一个消息的发送时间
last_msg_receipt_timetimestamp with time zone从源头 WAL 发送器接收到的最后一个消息的接收时间
latest_end_lsnpg_lsn报告给源头 WAL 发送器的最后一个预写日志位置
latest_end_timetimestamp with time zone报告给源头 WAL 发送器最后一个预写日志位置的时间
slot_nametext这个 WAL 接收器使用的复制槽的名称
conninfotext这个 WAL 接收器使用的连接串,安全相关的域会被隐去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值