Chapter 46. 逻辑解码

Table of Contents
46.1. 逻辑解码的例子
46.2. 逻辑解码概念
46.2.1. 逻辑解码
46.2.2. 复制槽
46.2.3. 输出插件
46.2.4. 导出快照
46.3. 流复制协议接口
46.4. 逻辑解码的 SQL 接口
46.5. 与逻辑解码相关的系统目录
46.6. 逻辑解码输出插件
46.6.1. 初始化函数
46.6.2. 能力
46.6.3. 输出模式
46.6.4. 输出插件回调
46.6.5. 用于产生输出的函数
46.7. 逻辑解码输出写入器
46.8. 逻辑解码的同步复制支持

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

在流中被送出的更改通过逻辑复制槽标识。每个流正好把每一个更改输出一次。

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

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