postgresql四种逻辑复制的状态

准备

CreateCheckpoint,或者bgwriter启动时,或者创建logicalreplicationslot时都会调用LogStandbySnapshot 记录一个XLOG_RUNNING_XACTS类型的日志。日志中记录了所有提交的事务的xid(HistoricSnapshot)

启动(SNAPBUILD_BUILDING_SNAPSHOT)

当接收端读到 XLOG_RUNNING_XACTS 时,调用SnapBuildProcessRunningXacts开始记录所有看到的日志,但此时只知道提交的事务,不知道进行中的事务。在没有完整事务状态的情况下,接收端是不能开始apply日志的。这时日志中记录的 nextxid(1) 就是这之后再开启事务时的最小事务号。
请添加图片描述

组装事务状态(SNAPBUILD_FULL_SNAPSHOT)

当接收端再收到 XLOG_RUNNING_XACTS 时,如果发现nextxid(1)之前的日志都提交了,就证明当前从日志收集过的事务,已经是全部在运行的事务了,没有不知道的事务,此时事务状态是完整的,但因为之前收到的非事务的 log 都人为丢弃了,不能对这些事务 apply log,因为事务不完整,这时nextxid(2)记录的就是之后再开启事务的时的最小事务号 。
这时每次 apply 前要判断,要 apply 的这个事务的xid是否在nextxid(2)之前,如果是之前的就不apply,之后的才apply(SnapBuildProcessChange)。
第一次apply的时候会记录一个完整的HistoricSnapshot作为basesnapshot

请添加图片描述

事务状态已完整(SNAPBUILD_CONSISTENT)

当接收端再收到 XLOG_RUNNING_XACTS 时,如果发现nextxid(2)之前的日志都提交了,说明以后收到的 log一定可以 apply,不用再做上面的判断了。
第一次到这个状态时会写一个.snap文件
请添加图片描述

新的事务提交日志(SnapBuildCommitTxn)

在每次处理事务提交日志时,它会感知所有修改系统表的事务,把它们加入新snapshot中(SnapBuildAddCommittedTxn),并把这个新的 snapshot 挂到所有事务的reorderbuffer中(SnapBuildDistributeNewCatalogSnapshot)。当其它事务commit时(DecodeCommit),检查reorder_buffer(ReorderBufferCommit),就会 apply 这个 snapshot (TeardownHistoricSnapshot + SetupHistoricSnapshot)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/48387.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux下i2c调试神器i2c-tools安装及使用

i2c-tools介绍 在嵌入式linux开发中,有时候需要确认i2c硬件是否正常连接,设备是否正常工作,设备的地址是多少等等,这里我们就需要使用一个用于测试I2C总线的工具——i2c-tools。 i2c-tools是一个专门调试i2c的开源工具&#xff…

SpringCloudAlibaba微服务实战系列(三)Sentinel1.8.0+流控

SpringCloudAlibaba–Sentinel Sentinel被称为分布式系统的流量防卫兵,是阿里开源流量框架,从服务限流、降级、熔断等多个纬度保护服务。Sentinel同时提供了简洁易用的控制台,可以看到接入应用的秒级数据,并可以在控制台设置一些…

北航投资已投企业四象科技成功发射三颗卫星

1箭4星!2023年7月23日10时50分,我国在太原卫星发射中心使用长征二号丁运载火箭,成功将四象科技“矿大南湖号”SAR遥感卫星、“虹口复兴号”光学遥感卫星、“中电农创号”热红外遥感卫星以及银河航天灵犀03星共4颗卫星发射升空,卫星…

C语言中的函数(超详细)

C语言中的函数(超详细) 一、函数概述二、C语言中函数的分类1.库函数2.自定义函数三、函数的参数1.实际参数(实参)2.形式参数(形参)四、函数的调用1.传值调用2.传址调用五、函数的嵌套调用和链式访问1.嵌套调…

人机交互与人机混合智能的区别

人机交互和人机融合智能是两个相关但不完全相同的概念: 人机交互是指人与计算机之间的信息交流和互动过程。它关注的是如何设计和实现用户友好的界面,以便人们能够方便、高效地与计算机进行沟通和操作。人机交互通常强调用户体验和界面设计,旨…

基于Java+SpringBoot+vue前后端分离新闻推荐系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

第五章 传输层

第五章 传输层 5.1 运输层的功能 运输层功能: 运输层为应用进程之间提供 端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。 运输层还要对收到的报文进行差错检测。 运输层提供面向连接和无连接的服务 ​ 从通信和信息处理的角度看…

linux V4L2子系统——v4l2架构(1)之整体架构

概述 V4L(Video for Linux)是Linux内核中关于视频设备的API接口,涉及视频设备的音频和视频信息采集及处理、视频设备的控制。V4L出现于Linux内核2.1版本,经过修改bug和添加功能,Linux内核2.5版本推出了V4L2&#xff08…

基于包围框回归的目标检测网络原理及Tensorflow实现

对象检测是对图像内的对象进行分类和定位。 换句话说,它是图像分类和对象定位的结合。 构建用于图像分类的机器学习模型更简单,我在我的一篇文章中对此进行了描述。 然而,图像分类器无法准确判断对象在图像内的位置。 为了实现这一目标&#…

全光谱对眼睛视力好不好?全光谱对眼睛的影响

什么是全光谱?全光谱指的是光谱中包含紫外光、可见光、红外光的光谱曲线,并且在可见光部分中红绿蓝的比例与阳光近似,显色指数Ra接近于100的光谱。与普通LED相比,全光谱LED光谱更加连续,色域更广泛。简单来说&#xff…

【javaSE】初识Java

目录 Java是什么 Java语言发展简史 初识Java的main方法 运行Java程序 JDK、JRE、JVM之间的关系 Java中的标识符 Java是什么 Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义. 不仅如此,Java还是一个有一系列计算机软件和规…

K8s使用Ceph作为后端存储

Ceph概述 部署Ceph集群 Ceph存储使用 Pod使用Ceph持久化数据 Ceph监控 Rook部署Ceph Ceph概述 Ceph介绍 Ceph架构 Ceph核心概念 Ceph介绍 Ceph是一个开源的分布式存储系统,具有高扩展性、高性能、高可靠性等特点,提 供良好的性能、可靠性和可扩展性。…

2023 数字生态发展大会,和鲸 ModelWhale 入选中国信通院“铸基计划”《高质量数字化转型产品及服务全景图》

7月27日,由中国信通院主办的“2023数字生态发展大会”暨中国信通院“铸基计划”年中会议在北京召开。本次大会重磅发布了《高质量数字化转型产品及服务全景图(2023)》,和鲸科技旗下数据科学协同平台 ModelWhale 成功入选&#xff…

【论文阅读】DEPIMPACT:反向传播系统依赖对攻击调查的影响(USENIX-2022)

Fang P, Gao P, Liu C, et al. Back-Propagating System Dependency Impact for Attack Investigation[C]//31st USENIX Security Symposium (USENIX Security 22). 2022: 2461-2478. 攻击调查、关键边、入口点 开源:GitHub - usenixsub/DepImpact 目录 1. 摘要2. 引…

深度学习入门教学——神经网络

深度学习就是训练神经网络。 1、神经网络 举个最简单的例子,以下是一个使用线性回归来预测房屋价格的函数。这样一个用于预测房屋价格的函数被称作是一单个神经元。大一点的神经网络,就是将这些单个神经元叠加起来。例如:神经网络根据多个相…

如何往MySQL中插入100万条数据?

需求 现在有一个 数据量 为100万的数据样本 100w_data.sql 其数据格式如下,截取最后十条数据 999991,XxGdnLZObA999991,XxGdnLZObA,XxGdnLZObA,2020-3-18,1 999992,TBBchSKobC999992,TBBchSKobC,TBBchSKobC,2020-9-8,2 999993,rfwgLkYhUz999993,rfwgLkYhUz,rfwgLk…

重发布及路由策略

目录 重发布 作用 条件 规则 名词解释点 点 向 单点重发布 双点重发布 路由策略 控制层流量和数据层流量 抓流量 ACL列表 前缀列表( ip-prefix) 实例演示 做策略 过滤策略(过滤器-策略) 路由策略(route-policy) 基本配置 路由策略使用 配置实验 重发布 在…

3、线性数据结构

线性数据结构,从名字可以看出,和“线”脱离不了关系。 那么从“线”联想,水平的,我们可以想到食堂打饭排的队伍,垂直的,我们可以联想到书桌上层叠摆放的书籍。 打饭的队伍一般遵循“先来先服务”的原则&a…

低成本32位单片机空调内风机方案

空调内风机方案主控芯片采用低成本32位单片机MM32SPIN0230,内部集成了具有灵动特色的电机控制功能:高阶4路互补PWM、注入功能的高精度ADC、轨到轨运放、轮询比较器、32位针对霍尔传感器的捕获时钟、以及硬件除法器和DMA等电机算法加速引擎。 该方案具有…

Windows 不同方式打开的cmd/dos窗口属性配置不同

文章目录 1. 默认值(控制台窗口)属性2. "C:\Windows\System32\cmd.exe" 属性3. "命令提示符"属性4. 自定义某标题cmd窗口属性5. cmd快捷方式的属性总结 最近在写某个批处理脚本时,意外发现 Windows系统中,在不…