PostgreSQL 提供了方法将所执行的修改通过 SQL 以流的方式传送给外部消费者。 这种功能可以被用于多种目的,包括复制方案以及审计。
在流中被送出的更改通过逻辑复制槽标识。
流式传输这些更改的格式由使用的输出插件决定。PostgreSQL 发布中包括了 一个例子插件。可以编写额外的插件来扩展可用的格式选择,而无需修改任何 核心代码。每一个输出插件都能访问每一个由 INSERT产生的新行以及每一个由 UPDATE创建的新行版本。 UPDATE和DELETE 的旧行版本的可用性取决于配置的复制标识(见 REPLICA IDENTITY)。
可以通过流复制协议(见第 51.3 节和 第 47.3 节)或者通过 SQL 调用函数( 第 47.4 节)来接收流式传送的更改。也可以编写额外的 接收复制槽输出的模块而无需修改核心代码( 第 47.7 节)。