当前位置: 首页 > news >正文

PostgreSQL复制的监控

PostgreSQL 复制(主流为流复制)的监控核心是 “确认连接正常、延迟可控、数据同步一致”,下面从基础命令行排查、关键指标监控、自动化可视化监控、日志监控四个维度给出完整方案,兼顾新手和生产环境需求。 

1. 主库查看备库连接(确认从库是否在线)

在主库执行,通过 pg_stat_replication 视图查看所有连接的备库信息:
-- 主库执行:查看备库复制状态(核心)
SELECT pid,                    -- 复制进程PIDclient_addr,            -- 备库IP(关键,定位具体备库)state,                  -- 复制状态(streaming=正常流复制)sent_lsn,               -- 主库已发送的WAL位置write_lsn,              -- 备库已写入磁盘的WAL位置flush_lsn,              -- 备库已刷盘的WAL位置replay_lsn,             -- 备库已重放(应用)的WAL位置-- 计算复制延迟(字节,换算为MB更易读)(sent_lsn - replay_lsn)::numeric * 8192 / 1024 / 1024 AS lag_mb,-- 计算延迟时间(秒)extract(epoch from now() - backend_xmin) AS lag_seconds
FROM pg_stat_replication;
  • state:正常必须是 streaming;若为 catchup 表示备库正在追平主库,idle 大概率是复制链路异常;
  • lag_mb:主库发送与备库重放的 WAL 差距(延迟),生产环境建议控制在 10MB 以内;
  • 若查询结果为空,说明备库未连接主库,需优先排查网络 / 权限。
 

2. 备库查看自身重放状态

在备库执行,通过 pg_stat_wal_receiver 查看 WAL 接收状态,pg_control_checkpoint 查看重放进度:
-- 备库执行:查看WAL接收状态
SELECT status,                  -- 接收状态(streaming=正常)received_lsn,            -- 已接收的WAL位置last_msg_receipt_time,   -- 最后接收WAL的时间extract(epoch from now() - last_msg_receipt_time) AS receive_delay_seconds
FROM pg_stat_wal_receiver;-- 备库执行:查看当前重放的WAL位置(确认数据是否应用)
SELECT redo_lsn FROM pg_control_checkpoint();

3. 验证主备 WAL 一致性

对比主库当前 WAL 位置和备库重放位置,确认无异常差距:
 
# 主库执行:获取当前WAL位置
psql -U postgres -c "SELECT pg_current_wal_lsn();"# 备库执行:获取已重放的WAL位置
psql -U postgres -c "SELECT redo_lsn FROM pg_control_checkpoint();"
 
http://www.jsqmd.com/news/364788/

相关文章:

  • C++变量的基础使用
  • 【完整源码+数据集+部署教程】交通标线车道线分割系统源码&数据集分享 [yolov8-seg-C2f-EMSC&yolov8-seg-SPPF-LSKA等50+全套改进创新点发刊_一键训练教程_We
  • IoT电子价签:打造智能化商超秋冬新品促销新体验 - 指南
  • pc(mac/win)端app 能基于webkit 打包发布
  • 【完整源码+数据集+部署教程】航拍区域图像分割系统源码&数据集分享 [yolov8-seg-C2f-DAttention&yolov8-seg-HGNetV2等50+全套改进创新点发刊_一键训练教程
  • 【完整源码+数据集+部署教程】工图机械零件特征图像分割系统源码&数据集分享 [yolov8-seg-LAWDS&yolov8-seg-RevCol等50+全套改进创新点发刊_一键训练教程_Web前端
  • 洛谷 P1160:队列安排 ← 数组模拟
  • 小白版详解:剪枝怎么评好坏?怎么判断该剪谁?
  • 2026年北京VIP陪诊公司权威测评,高品质服务机构精选 - 品牌鉴赏师
  • 三种剪枝算法流程
  • 【含文档+PPT+源码】基于微信小程序的驾考在线学习与测试系统的设计与实现
  • 2026.02.10
  • 【Matlab】MATLAB 图形标注教程:title、xlabel、ylabel 用法详解与实战
  • 小鼠CD185抗体如何助力CXCR5靶向ADC药物的研发与机制探索?
  • Node.js 编程实战:路径模块(path)详解 - 教程
  • 一文读懂分辨率:从概念到硬件应用,解锁视觉体验新高度 - 详解
  • 2026年布袋除尘器厂商推荐:不锈钢脉冲式布袋除尘器厂家哪家靠谱 - 栗子测评
  • ollydbg脚本学习
  • Java 算法
  • 4022:【GESP2309五级】巧夺大奖
  • 什么是强连通图
  • 【完整源码+数据集+部署教程】交通工具与动物实例分割系统源码&数据集分享 [yolov8-seg-C2f-SCConv&yolov8-seg-repvit等50+全套改进创新点发刊_一键训练教程_W
  • 【完整源码+数据集+部署教程】垃圾分类分割系统源码&数据集分享 [yolov8-seg-GFPN&yolov8-seg-timm等50+全套改进创新点发刊_一键训练教程_Web前端展示]
  • 【完整源码+数据集+部署教程】条形码图像分割系统源码&数据集分享 [yolov8-seg-SPDConv&yolov8-seg-swintransformer等50+全套改进创新点发刊_一键训练教程
  • 追更 HelloGitHub 一整年,终于等到了这篇年度盘点
  • 【完整源码+数据集+部署教程】手势分割系统源码&数据集分享 [yolov8-seg-C2f-ODConv&yolov8-seg-C2f-DCNV3等50+全套改进创新点发刊_一键训练教程_Web前端
  • 基于Java的微影院数字影厅智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 【完整源码+数据集+部署教程】钢管缺陷分割系统源码&数据集分享 [yolov8-seg-RevCol&yolov8-seg-EfficientHead等50+全套改进创新点发刊_一键训练教程_Web
  • 基于Java的微聊智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的微型水电站监管智慧管理系统的设计与实现全方位解析:附毕设论文+源代码