第 49 章 逻辑解码

目录

49.1. 逻辑解码的例子
49.2. 逻辑解码概念
49.2.1. 逻辑解码
49.2.2. 复制槽
49.2.3. 输出插件
49.2.4. 导出快照
49.3. 流复制协议接口
49.4. 逻辑解码的 SQL 接口
49.5. 与逻辑解码相关的系统目录
49.6. 逻辑解码输出插件
49.6.1. 初始化函数
49.6.2. 能力
49.6.3. 输出模式
49.6.4. 输出插件回调
49.6.5. 用于产生输出的函数
49.7. 逻辑解码输出写入器
49.8. 逻辑解码的同步复制支持
49.8.1. 概述
49.8.2. 警告
49.9. 用于逻辑解码的大事务的流
49.10. 对逻辑解码的两阶段提交支持

PostgreSQL 提供了方法将所执行的修改通过 SQL 以流的方式传送给外部消费者。 这种功能可以被用于多种目的,包括复制方案以及审计。

在流中被送出的更改通过逻辑复制槽标识。

流式传输这些更改的格式由使用的输出插件决定。 PostgreSQL 发布中包括了一个例子插件。 可以编写额外的插件来扩展可用的格式选择,而无需修改任何核心代码。 每一个输出插件都能访问每一个由INSERT产生的新行以及每一个由 UPDATE创建的新行版本。 UPDATEDELETE 的旧行版本的可用性取决于配置的复制标识(见 REPLICA IDENTITY)。

可以通过流复制协议(见第 53.4 节第 49.3 节)或者通过 SQL 调用函数( 第 49.4 节)来接收流式传送的更改。也可以编写额外的 接收复制槽输出的模块而无需修改核心代码( 第 49.7 节)。