pg_recvlogical

pg_recvologic —控制 PostgreSQL 逻辑解码流

Synopsis

pg_recvlogical [ option ...]

Description

pg_recvlogical控制逻辑解码复制插槽,并从这些复制插槽流式传输数据。

它创建了一个复制模式连接,因此它受到与pg_receivewal相同的约束以及逻辑复制的约束(请参阅Chapter 49)。

pg_recvlogical不具有等效于逻辑解码 SQL 接口的 peek 和 get 模式。它在接收到数据时以及在干净退出时会延迟发送数据的重播确认。要在不占用插槽的情况下检查未决数据,请使用pg_logical_slot_peek_changes

Options

必须至少指定以下选项之一才能选择操作:

流格式由创建插槽时指定的输出插件确定。

连接必须与用于创建插槽的数据库相同。

可以一起指定--create-slot--start--drop-slot不能与其他动作组合使用。

以下命令行选项控制输出和其他复制行为的位置和格式:

如果存在 LSN 等于* lsn *的记录,则将输出该记录。

--endpos选项不了解事务边界,可能会在事务过程中截断输出。下次读取该插槽时,将不使用任何部分输出的事务,并且将再次重播该事务。单个消息永远不会被截断。

服务器有时会请求 Client 端执行刷新操作,并将刷新位置报告给服务器。除此之外,此设置还可以更频繁地执行刷新。

指定间隔0将完全禁用发出fsync()调用,同时仍向服务器报告进度。在这种情况下,如果发生崩溃,数据可能会丢失。

以下命令行选项控制数据库连接参数。

这个选项从来都不是必须的,因为如果服务器要求密码认证,pg_recvologic 将自动提示 Importing 密码。但是,pg_recvologic 会浪费连接尝试,以发现服务器需要密码。在某些情况下,值得 Importing-W以避免额外的连接尝试。

可以使用以下附加选项:

Environment

与大多数其他 PostgreSQLUtil 一样,该 Util 使用 libpq 支持的环境变量(请参见Section 34.14)。

Notes

如果在源集群上启用了组权限,pg_recvologic 将保留接收到的 WAL 文件上的组权限。

Examples

有关示例,请参见Section 49.1

See Also

pg_receivewal

上一章 首页 下一章