您的位置:MYSQL中文网 > PostgreSQL 架构

PostgreSQL 架构

2023-06-04 09:30 PostgreSQL 架构

 PostgreSQL 架构

30.5.1. 初始快照

逻辑复制从拷贝发布者数据库上的数据库快照开始。拷贝一旦完成,发布者上的更改会在它们发生时实时传送给订阅者。订阅者按照数据在发布者上被提交的顺序应用数据,这样任意单一订阅中的发布的事务一致性才能得到保证。

逻辑复制被构建在一种类似于物理流复制(见第 26.2.5 节)的架构上。它由walsenderapply进程实现。walsender进程开始对WAL的逻辑解码(在 第 48 章中描述)并且载入标准逻辑解码插件(pgoutput)。该插件把从WAL中读取的更改转换成逻辑复制协议(见第 52.5 节)并且根据发布说明过滤数据。然后数据会被连续地使用流复制协议传输到应用工作者,应用工作者会把数据映射到本地表并且以正确的事务顺序应用它们接收到的更改。

订阅者数据库上的应用进程总是将session_replication_role设置为replica运行,这会产生触发器和约束上通常的效果。

逻辑复制应用进程当前仅会引发行触发器,而不会引发语句触发器。不过,初始的表同步是以类似一个COPY命令的方式实现的,因此会引发INSERT的行触发器和语句触发器。

30.5.1. 初始快照

已有的被订阅表中的初始数据会被快照并且以一种特殊类型的应用进程的并行实例进行拷贝。这种进程将创建自己的临时复制槽并且拷贝现有的数据。一旦现有的数据被拷贝完,工作者会进入到同步模式,主应用进程会流式传递在使用标准逻辑复制拷贝初始数据期间发生的任意改变,这会确保表被带到一种已同步的状态。一旦同步完成,该表的复制的控制权会被交回给主应用进程,其中复制会照常继续。


阅读全文
以上是MYSQL中文网为你收集整理的 PostgreSQL 架构全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 回归测试

    PostgreSQL 回归测试

    目录32.1. 运行测试32.1.1. 在一个临时安装上运行测试32.1.2. 在一个现有安装上运行测试32.1.3. 附加测试套件32.1.4. 区域和编码...

  •  PostgreSQL 数据库连接控制函数

    PostgreSQL 数据库连接控制函数

    本文章中的33.1.1. 连接字符串33.1.2. 参数关键词下列函数会建立到一个PostgreSQL后端服务器的连接。 一个应用程序可以在一个时...

  •  PostgreSQL COPY命令相关的函数

    PostgreSQL COPY命令相关的函数

    33.9.1. 用于发送COPY数据的函数33.9.2. 用于接收COPY数据的函数33.9.3. 用于COPY的废弃函数 PostgreSQL中的COPY命令有用于libpq...

  •  PostgreSQL 连接参数的 LDAP 查找

    PostgreSQL 连接参数的 LDAP 查找

    如果libpq已经在编译时打开了 LDAP 支持(configure的选项--with-ldap),就可以通过 LDAP 从一个中央服务器检索host或dbname之...

  •  PostgreSQL 客户端接口

    PostgreSQL 客户端接口

    34.3.1. 创建一个大对象34.3.2. 导入一个大对象34.3.3. 导出一个大对象34.3.4. 打开一个现有的大对象34.3.5. 向一个大对象写入数...

  •  PostgreSQL 动态 SQL

    PostgreSQL 动态 SQL

    35.5.1. 执行没有结果集的语句35.5.2. 执行一个有输入参数的语句35.5.3. 执行一个有结果集的语句在很多情况中,一个应用必须要执...

  •  PostgreSQL C++ 应用

    PostgreSQL C++ 应用

    35.13.1. 主变量的可见范围35.13.2. 使用外部 C 模块的 C++ 应用开发ECPG 对于 C++ 应用提供了有限的支持。这一节描述了一些忠告...

  •  PostgreSQL EXECUTE IMMEDIATE

    PostgreSQL EXECUTE IMMEDIATE

    EXECUTE IMMEDIATE — 动态地准备和执行一个语句大纲EXECUTE IMMEDIATE string描述 EXECUTE IMMEDIATE立刻预备并且执行一个动态...

  •  PostgreSQL VAR

    PostgreSQL VAR

    VAR — 定义一个变量大纲VAR varname IS ctype描述 VAR命令分配一个新的 C 数据类型给一个主变量。主变量必须之前在一个声明节中...

  • html input name属性 HTML DOM Input Button name 属性

    html input name属性 HTML DOM Input Button name 属性

    Input Button name 属性 Button 对象定义和用法name 属性可设置或者返回 button 元素的 name 属性值。name 属性用于表单提交后向...

© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS