大约 2 分钟
第 49 章 逻辑解码
目录
[49.2.2. 复制槽](logicaldecoding-explanation.md#LOGICALDECODING-REPLICATION-SLOTS)
[49.2.3. 输出插件](logicaldecoding-explanation.md#id-1.8.14.8.4)
[49.2.4. 导出快照](logicaldecoding-explanation.md#id-1.8.14.8.5)
49.6. 逻辑解码输出插件 : 49.6.1. 初始化函数
[49.6.2. 能力](logicaldecoding-output-plugin.md#LOGICALDECODING-CAPABILITIES)
[49.6.3. 输出模式](logicaldecoding-output-plugin.md#LOGICALDECODING-OUTPUT-MODE)
[49.6.4. 输出插件回调](logicaldecoding-output-plugin.md#LOGICALDECODING-OUTPUT-PLUGIN-CALLBACKS)
[49.6.5. 用于产生输出的函数](logicaldecoding-output-plugin.md#LOGICALDECODING-OUTPUT-PLUGIN-OUTPUT)
PostgreSQL 提供了方法将所执行的修改通过 SQL 以流的方式传送给外部消费者。 这种功能可以被用于多种目的,包括复制方案以及审计。
在流中被送出的更改通过逻辑复制槽标识。
流式传输这些更改的格式由使用的输出插件决定。PostgreSQL 发布中包括了 一个例子插件。可以编写额外的插件来扩展可用的格式选择,而无需修改任何 核心代码。每一个输出插件都能访问每一个由 INSERT产生的新行以及每一个由 UPDATE创建的新行版本。 UPDATE和DELETE 的旧行版本的可用性取决于配置的复制标识(见 REPLICA IDENTITY)。
可以通过流复制协议(见第 53.4 节和 第 49.3 节)或者通过 SQL 调用函数( 第 49.4 节)来接收流式传送的更改。也可以编写额外的 接收复制槽输出的模块而无需修改核心代码( 第 49.7 节)。
