# 第 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 发行版中提供了一个示例插件。可以编写其他插件来扩展可用格式的选择,而无需修改任何核心代码。每个输出插件都可以访问由插入以及由创建的新行版本更新.旧行版本的可用性更新删除取决于配置的副本身份(请参阅副本身份)。

可以使用流复制协议来使用更改(请参阅第 53.4 节第 49.3 节),或者通过 SQL 调用函数(参见第 49.4 节)。也可以在不修改核心代码的情况下编写额外的方法来使用复制槽的输出(参见第 49.7 节)。