pg_recvlogical 是一个 核心工具,它从复制槽接收逻辑解码数据。
pg_recvlogical 在 PostgreSQL 9.4 中添加。
变更历史
- PostgreSQL 18
- PostgreSQL 16
- 像
SIGINT一样处理SIGTERM(提交 8b60db77)
- 像
- PostgreSQL 15
- 添加了选项
--two-phase(提交 cda03cfe)
- 添加了选项
- PostgreSQL 10
- 添加了选项
--endpos(提交 7c030783)
- 添加了选项
- PostgreSQL 9.4
- 已添加 (初始提交 8bdd12bb)
示例
这个 pg_recvlogical 的基本用法示例设置了一个复制槽,从该槽开始流式传输数据,并将任何解码后的数据显示在 stdout 上。
$ pg_recvlogical -d test_db --slot=test_slot --create-slot --start -f -
如果执行以下语句(在隐式事务中)
testdb=# INSERT INTO foo VALUES(1); INSERT 0 1
解码后的数据将由 pg_recvlogical 显示,类似如下:
BEGIN 732 table public.foo: INSERT: id[integer]:1 COMMIT 732
参考资料
- PostgreSQL 文档: pg_recvlogical
- PostgreSQL 文档: 使用 pg_recvlogical 进行逻辑解码示例
