【PostgreSQL】PostgreSQL复制延迟该检查哪些内容
2022-06-30 09:03 abce 阅读(886) 评论(0) 编辑 收藏 举报
1.在主节点查看
1 | select * from pg_stat_replication; |
2.在从节点查看
版本10之前:
1 | select pg_is_in_recovery(),pg_last_xlog_receive_location(), pg_last_xlog_replay_location(), pg_last_xact_replay_timestamp(); |
1 2 3 4 | SELECT CASE WHEN pg_last_xlog_receive_location() = pg_last_xlog_replay_location() THEN 0 ELSE EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp()) END AS log_delay; |
从版本10开始:
1 | select pg_is_in_recovery(),pg_is_wal_replay_paused(), pg_last_wal_receive_lsn(), pg_last_wal_replay_lsn(), pg_last_xact_replay_timestamp(); |
1 2 3 4 | SELECT CASE WHEN pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() THEN 0 ELSE EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp()) END AS log_delay; |
3.如果有延迟
查看主库当前的日志位置:
1 2 3 4 5 | #版本10之前 select pg_current_xlog_location(); #版本10开始 SELECT pg_current_wal_lsn(); |
查看从库当前的日志位置:
1 | select pg_is_in_recovery(),pg_is_wal_replay_paused(), pg_last_wal_receive_lsn(), pg_last_wal_replay_lsn(), pg_last_xact_replay_timestamp(); |
4.查看主从之间的延迟日志有多少
函数:
1 2 | pg_wal_lsn_diff(lsn pg_lsn, lsn pg_lsn) pg_xlog_location_diff (location pg_lsn, location pg_lsn) |
1 2 3 4 5 6 7 8 9 10 | postgres=# select pg_wal_lsn_diff( '0/925D7E70' , '0/2705BDA0' ); -[ RECORD 1 ] ---+----------- pg_wal_lsn_diff | 1800913104 postgres=# select round(1800913104/pow(1024,3.0),2) missing_lsn_GiB; -[ RECORD 1 ] ---+----- missing_lsn_gib | 1.68 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2015-06-30 RMAN性能监控
2015-06-30 RMAN - 发现I/O瓶颈
2015-06-30 TNS-01251: Cannot set trace/log directory under ADR
2015-06-30 Oracle 监听器日志文件过大导致监听异常