Skip to content

第 49 章. 逻辑解码

目录

49.1. 逻辑解码示例
49.2. 逻辑解码概念
49.2.1. 逻辑解码
49.2.2. 复制槽
49.2.3. 输出插件
49.2.4. 导出的快照
49.3. 流复制协议接口
49.4. 逻辑解码 接口
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)。

可以使用流复制协议(请参阅第 55.4 节第 49.3 节)或通过 SQL 调用函数(请参阅第 49.4 节)来使用更改。还可以编写其他方法来使用复制槽的输出,而无需修改核心代码(请参阅第 49.7 节)。