重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: 检查逻辑复制主备库是否完全同步 [打印本页]

作者: ZhangQi    时间: 2026-1-4 18:09
标题: 检查逻辑复制主备库是否完全同步
如果需要在切换前验证逻辑复制主备库是否完全同步,除了业务端需要去验证业务表登业务数据外,数据库端也可以通过sql语句验证是否完全同步,检查逻辑复制同步状态,如下所示
1. 发布端执行命令:
SELECT pid,application_name,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,now() - backend_start AS duration FROM pg_stat_replication;

- PostgreSQL 逻辑复制中,只有当 sent_lsn = write_lsn = flush_lsn = replay_lsn 时,才表示发布端发送的日志已全部在订阅端完成写入、刷盘、应用,数据完全同步。
- 若希望加速同步,需先暂停发布端对相关表的写入操作(如业务侧停写),避免发布端持续产生新的日志,让订阅端能快速追平 LSN。


例如:

3996694917e21ddb2.png
登录/注册后可看大图