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

PostgreSQL的查看主从同步状态

PostgreSQL的查看主从同步状态

PostgreSQL 提供了一些系统视图和函数,查看和监控主从同步的状态。

1 在主节点上查看同步状态

pg_stat_replication 视图

在主节点上,可以通过查询 pg_stat_replication 视图来查看复制的详细状态信息,包括每个从节点的同步进度、滞后情况以及连接状态。

postgres=# \d pg_stat_replicationView "pg_catalog.pg_stat_replication"Column      |           Type           | Collation | Nullable | Default 
------------------+--------------------------+-----------+----------+---------pid              | integer                  |           |          | usesysid         | oid                      |           |          | usename          | name                     |           |          | application_name | text                     |           |          | client_addr      | inet                     |           |          | client_hostname  | text                     |           |          | client_port      | integer                  |           |          | backend_start    | timestamp with time zone |           |          | backend_xmin     | xid                      |           |          | state            | text                     |           |          | sent_lsn         | pg_lsn                   |           |          | write_lsn        | pg_lsn                   |           |          | flush_lsn        | pg_lsn                   |           |          | replay_lsn       | pg_lsn                   |           |          | write_lag        | interval                 |           |          | flush_lag        | interval                 |           |          | replay_lag       | interval                 |           |          | sync_priority    | integer                  |           |          | sync_state       | text                     |           |          | reply_time       | timestamp with time zone |           |          | 
  • pid: 进程ID。
  • usesysid: 使用者系统ID。
  • usename: 复制连接的用户名。
  • application_name: 复制连接的应用程序名称,通常每个从节点会设置一个唯一的名字。
  • client_addr: 从节点的IP地址。
  • state: 连接状态,可以是 startup, catchup, streaming 等。
  • sent_lsn: 主节点最后发送给从节点的WAL记录的位置。
  • write_lsn: 从节点接收到的最远的WAL记录的位置。
  • flush_lsn: 从节点写入磁盘的最远的WAL记录的位置。
  • replay_lsn: 从节点应用的最远的WAL记录的位置。
  • sync_priority: 同步复制节点的优先级。
  • sync_state: 同步状态,可以是 async, potential, sync, quorum 等。

示例

postgres=# select * from pg_stat_replication;pid  | usesysid | usename | application_name |  client_addr   | client_hostname | client_port |         backend_start         | backend_xmin |   state   | sent_lsn  | wr
ite_lsn | flush_lsn | replay_lsn |    write_lag    |    flush_lag    |   replay_lag    | sync_priority | sync_state |          reply_time           
-------+----------+---------+------------------+----------------+-----------------+-------------+-------------------------------+--------------+-----------+-----------+---
--------+-----------+------------+-----------------+-----------------+-----------------+---------------+------------+-------------------------------55877 |    16384 | repmgr  | test2            | 192.168.10.101 |                 |       34636 | 2024-09-15 12:13:48.651404-04 |              | streaming | 0/44B8EF0 | 0/
44B8EF0 | 0/44B8EF0 | 0/44B8EF0  | 00:00:00.000237 | 00:00:00.000476 | 00:00:00.000537 |             0 | async      | 2024-09-15 12:33:24.543761-04
(1 row)

2 在从节点上查看同步状态

pg_stat_wal_receiver 视图

对从节点,可以通过查询 pg_stat_wal_receiver 视图来查看WAL接收器的状态。

postgres=# \d pg_stat_wal_receiverView "pg_catalog.pg_stat_wal_receiver"Column         |           Type           | Collation | Nullable | Default 
-----------------------+--------------------------+-----------+----------+---------pid                   | integer                  |           |          | status                | text                     |           |          | receive_start_lsn     | pg_lsn                   |           |          | receive_start_tli     | integer                  |           |          | received_lsn          | pg_lsn                   |           |          | received_tli          | integer                  |           |          | last_msg_send_time    | timestamp with time zone |           |          | last_msg_receipt_time | timestamp with time zone |           |          | latest_end_lsn        | pg_lsn                   |           |          | latest_end_time       | timestamp with time zone |           |          | slot_name             | text                     |           |          | sender_host           | text                     |           |          | sender_port           | integer                  |           |          | conninfo              | text                     |           |          | 
  • pid: 接收器进程ID。
  • status: WAL接收状态。
  • receive_start_lsn: 接收起始的LSN。
  • received_lsn: 已接收的最新的LSN。
  • last_msg_send_time: 主节点发送最后一个消息的时间。
  • last_msg_receipt_time: 从节点接收最后一个消息的时间。
  • latest_end_lsn: 最近接收的WAL记录的LSN。
  • latest_end_time: 最近接收到的WAL记录的时间。

示例

postgres=# select * from pg_stat_wal_receiver;pid  |  status   | receive_start_lsn | receive_start_tli | received_lsn | received_tli |      last_msg_send_time       |     last_msg_receipt_time     | latest_end_lsn |latest_end_time        | slot_name |  sender_host   | sender_port |                                                                                                conninfo                                                                                                                        
-------+-----------+-------------------+-------------------+--------------+--------------+-------------------------------+-------------------------------+----------------+
-------------------------------+-----------+----------------+-------------+------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------87404 | streaming | 0/3000000         |                 5 | 0/44C0BF8    |            5 | 2024-09-15 12:35:33.842389-04 | 2024-09-15 12:35:33.842893-04 | 0/44C0BF8      |2024-09-15 12:35:33.842389-04 |           | 192.168.10.100 |        5432 | user=repmgr passfile=/home/pg12/.pgpass dbname=replication host=192.168.10.100 port=5432 applic
ation_name=test2 fallback_application_name=walreceiver sslmode=disable sslcompression=0 gssencmode=disable krbsrvname=postgres target_session_attrs=any
(1 row)

跨节点比对状态

为了确保主节点和从节点的状态是一致的,可以比对 pg_stat_replication 中的 sent_lsnpg_stat_wal_receiver 中的 received_lsn。如果两者没有显著滞后,可以认为同步状态正常。

相关文章:

PostgreSQL的查看主从同步状态

PostgreSQL的查看主从同步状态 PostgreSQL 提供了一些系统视图和函数,查看和监控主从同步的状态。 1 在主节点上查看同步状态 pg_stat_replication 视图 在主节点上,可以通过查询 pg_stat_replication 视图来查看复制的详细状态信息,包括…...

Java多态性的理解

方法的覆盖 子类的方法重写了父类的方法,相当于对原来的方法进行了增强,接口就是这样的思想。 属性的隔离(Java中什么情况下都不会属性覆盖,python可能会覆盖) public class Main {public static void main(String[…...

安全工具 | 使用Burp Suite的10个小tips

Burp Suite 应用程序中有用功能的集合 img Burp Suite 是一款出色的分析工具,用于测试 Web 应用程序和系统的安全漏洞。它有很多很棒的功能可以在渗透测试中使用。您使用它的次数越多,您就越发现它的便利功能。 本文内容是我在测试期间学到并经常的主要…...

企业项目中字符串工具类

此工具类暂时包含如下功能: isEmpty()判断字符串是否为空subSpecifiedString()判断字符串是否超出指定长度,超出则截取到指定长度yearMonthToDate()将年月的字符串转成年月日格式 yearMonthToDateTime()将年月的字符串转成年月日时分秒格式 package co…...

下载github patch到本地

以下是几种从 GitHub 上下载以.patch 结尾的补丁文件的方法: 通过浏览器直接下载 打开包含该.patch 文件的 GitHub 仓库。在仓库的文件列表中找到对应的.patch 文件。点击该文件,浏览器会显示文件的内容,在页面的右上角通常会有一个“Raw”…...

C++基础部分代码

C OOP面对对象 this指针 C:各种各样的函数定义 struct C:类》实体的抽象类型 实体(属性,行为)-》ADT(abstract data type) OOP语言的四大特征是什么? 抽象 封装/隐藏 继承 多态 访问限定符:public公有的 private私有的…...

neo4j(spring) 使用示例

文章目录 前言一、neo4j是什么二、开始编码1. yml 配置2. crud 测试3. node relation 与java中对象的关系4. 编码测试 总结 前言 图数据库先驱者 neo4j:neo4j官网地址 可以选择桌面版安装等多种方式,我这里采用的是docker安装 直接执行docker安装命令: docker run…...

链接升级:Element UI <el-link> 的应用

链接升级&#xff1a;Element UI 的应用 一 . 创建文字链接1.1 注册路由1.2 创建文字链接 二 . 文字链接的属性2.1 文字链接的颜色2.2 是否显示下划线2.3 是否禁用状态2.4 填写跳转地址2.5 加入图标 在本篇文章中&#xff0c;我们将深入探索Element UI中的<el-link>组件—…...

简单题26 - 删除有序数组中的重复项(Java)20240917

问题描述&#xff1a; java代码&#xff1a; class Solution {public int removeDuplicates(int[] nums) {if (nums.length 0) return 0; // 处理空数组情况int i 0; // 指向新数组中的最后一个不重复元素for (int j 1; j < nums.length; j) {if (nums[j] ! nums[i]) { …...

DFS:深搜+回溯+剪枝实战解决OJ问题

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 排列、子集问题 1.1 全排列I 1.2 子集I 1.3 找出所有子集的异或总和 1.4 全排列II 1.5 字母大小写全排列 1.6 优美的排列 二 组合问题 2.1 电话号码的数字组合 …...

命令语境中的“可以”的字词含义分析

摘要 在语言交流中&#xff0c;词汇的使用经常受到语境的影响。本文探讨了“可以”一词在上司与下属之间的互动中所表达的命令含义。通过分析语料和实例&#xff0c;发现“可以”在某些情况下并不传达许可的含义&#xff0c;而是被用作一种隐性命令。本文讨论了这一现象的成因…...

直播相关03-录制麦克风声音, ffmpeg 命名,使用命令行完成录音

一 ffmpeg 命令 ffmpeg arg1 arg2 -i arg3 arg4 arg5ffmpeg 全局参数 输入文件参数 -i 输入文件 输出文件参数 输出文件arg1&#xff1a;全局参数 arg2&#xff1a;输入文件参数 arg3&#xff1a;输入文件 arg4&#xff1a;输出文件参数 arg5&#xff1a;输出文件 二 ffprobe …...

VUE3中ref与reactive

ref&#xff1a;支持所有类型reactive&#xff1a;只支持引用类型(Obj&#xff0c;Array...)两者都是实现数据视图响应式 JS逻辑使用中 ref&#xff1a;需要使用.value reactive&#xff1a;不需要使用.value <el-button click"handle()" type"primary"…...

高职院校人工智能技术和无人机技术实训室建设方案

一、方案背景与需求分析 1.1 人工智能与无人机技术发展概况 人工智能&#xff08;AI&#xff09;和无人机技术作为当今科技领域的两大热点&#xff0c;正以前所未有的速度发展和渗透到各行各业中。根据国际数据公司(IDC)的报告&#xff0c;全球人工智能市场规模预计将在2024年…...

x-cmd pkg | shtris: 在终端体验经典的俄罗斯方块游戏

目录 简介首次用户技术特点竞品和相关项目进一步阅读 简介 shtris 是一个由 shell 脚本&#xff0c;参考 俄罗斯方块指南 (2009) 实现的俄罗斯方块游戏。 首次用户 本文的 demo 展现了如何通过 x-cmd 快速启动使用 shtris 。x-cmd也提供了1分钟教程可以帮你快速入门。 技术…...

Linux基础---07文件传输及解决yum安装失效的方法

Linux文件传输地图如下&#xff0c;先选取你所需的场景&#xff0c;若你是需要Linux和Linux之间传输文件就查看SCP工具即可。 一.下载网站文件 前提是有网&#xff1a; 检查网络是否畅通命令&#xff1a;ping www.baidu.com&#xff0c;若有持续的返回值就说明网络畅通。Ctr…...

[项目][WebServer][Makefile Shell]详细讲解

目录 1.Makefile2. build.sh3.test.sh 1.Makefile 为了方便构建项目&#xff0c;并将其发布&#xff0c;使用Makefile来管理构建项目 bin httpserver cgi test_cgi cc g GLD_FLAGS -stdc11 -D DEBUG_SHOW LD_FLAGS $(GLD_FLAGS) -lpthread src main.cc curr $(shell p…...

ElementUI大坑Notification修改样式

默认<style lang"scss" scoped>局部样式&#xff0c;尝试用deep透传也无效 实践成功方法&#xff1a;单独写一个style <style> .el-notification{position: absolute !important;top: 40% !important;left: 40% !important; } </style> 也支持自…...

vivado中的diagram

在 Vivado 中&#xff0c;“Diagram” 选项卡是 IP Integrator 的一部分&#xff0c;它用于创建和编辑 Block Design。Block Design 是一种图形化的设计方法&#xff0c;它允许设计者通过拖放组件&#xff08;如 IP 核和自定义模块&#xff09;并连接它们来构建复杂的数字电路设…...

项目实现:云备份②(文件操作、Json等工具类的实现)

云备份 前言文件操作实用工具类设计文件属性的获取文件的读写操作文件压缩与解压缩的实现文件目录操作 Json 实用工具类设计编译优化 前言 如果有老铁不知道当前项目实现的功能是什么的话&#xff0c;可以先移步这篇文章内容&#xff1a; 云备份项目的介绍 其中介绍了云备份项…...

ComfyUI-Manager终极指南:3个核心功能彻底解决AI工作流管理难题

ComfyUI-Manager终极指南&#xff1a;3个核心功能彻底解决AI工作流管理难题 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vari…...

多自由度冗余空间机械臂位姿一体化规划与控制【附代码】

✨ 长期致力于空间机械臂、对偶四元数、位姿一体化、路径规划、跟踪控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;基于对偶四元数的冗余机械臂运…...

物理引导的机器学习工作流:气候建模的融合创新与实践

1. 项目概述&#xff1a;当气候建模遇见机器学习如果你像我一样&#xff0c;在气候模拟这个领域摸爬滚打超过十年&#xff0c;就会深刻体会到一种“甜蜜的负担”&#xff1a;我们构建的地球系统模型&#xff08;ESM&#xff09;越来越精细&#xff0c;物理过程越来越复杂&#…...

PA100K数据集实战:从下载到结构化解析全流程

1. PA100K数据集初探&#xff1a;为什么选择它&#xff1f;如果你正在研究行人属性识别&#xff0c;PA100K绝对是个绕不开的宝藏数据集。这个数据集包含了10万张真实监控场景下的行人图像&#xff0c;每张图都标注了26种常见属性——从衣着风格&#xff08;比如是否穿T恤、裙子…...

③ AI副业第一步:如何找到适合自己的AI赚钱赛道

③ AI副业第一步&#xff1a;如何找到适合自己的AI赚钱赛道选对赛道&#xff0c;努力才有意义。选错赛道&#xff0c;越努力离钱越远。前言&#xff1a;为什么大多数人AI副业做不起来&#xff1f; 我观察了100想做AI副业的人&#xff0c;失败的原因高度一致&#xff1a; 失败路…...

鸿蒙系统微博应用锁常见问题解答

为微博设置应用锁后&#xff0c;不少用户会有各种疑问&#xff1a;忘记密码怎么办&#xff1f;会不会影响消息推送&#xff1f;能不能只锁定某些功能&#xff1f;应用锁耗电吗&#xff1f;本文将针对这些高频问题逐一解答&#xff0c;帮助您更好地使用鸿蒙系统&#xff08;Harm…...

PentestGPT实战部署指南:AI驱动的渗透测试工作流落地

1. 这不是另一个“AI安全”的概念玩具&#xff0c;而是一套能真正跑起来的渗透测试辅助工作流“PentestGPT”这个名字刚在GitHub上出现时&#xff0c;我第一反应是点开又关掉——过去三年里&#xff0c;我见过太多打着“AI渗透”旗号的项目&#xff1a;有的只是把ChatGPT API封…...

为什么软件开发偏爱 Linux?深度剖析 Linux 相较于 Windows 的核心优势

引言 在软件开发的世界里&#xff0c;一个有趣的现象是&#xff1a;无论是大型互联网公司的服务器集群&#xff0c;还是资深程序员的个人开发机&#xff0c;Linux 操作系统的身影无处不在。与之形成鲜明对比的是&#xff0c;尽管 Windows 在个人消费市场占据绝对主导地位&…...

内存占用3KB!极致瘦身释放MCU无限可能

极致小体积&#xff0c;给工业领域带来了无限的可能&#xff1a;更低硬件成本&#xff0c;更小芯片体积&#xff0c;更低功耗&#xff0c;更高可靠性&#xff0c;让每一颗小MCU都拥有大系统的完整能力。 https://www.bilibili.com/video/BV1eZLi6PEjc/?spm_id_from333.1387.ho…...

AI写的论文双率如何压到20%以下?这几款工具实测有效

毕业季、投稿季用AI写论文已经成为不少人的高效选择&#xff0c;但查重率飘红、AIGC疑似率超标两大问题&#xff0c;让很多人犯了难。2026年学术检测标准持续收紧&#xff0c;知网、维普及主流AIGC检测系统同步上线双检规则&#xff0c;两项指标均控制在20%以下才符合基本提交要…...