pg_replication_origin_session_setup() 是一个系统函数,用于将当前会话标记为正在从指定的复制源回放。
pg_replication_origin_session_setup() 函数于 PostgreSQL 9.5 中添加。
用法
PostgreSQL 19 及更高版本
pg_replication_origin_session_setup (node_nametext[,pidintegerDEFAULT 0] ) →void
PostgreSQL 18 及更早版本
pg_replication_origin_session_setup (node_nametext) →void
如果提供了无效的复制源,或者该会话先前已为该会话设置了复制源,则会引发 ERROR 错误。
使用 pg_replication_origin_session_reset() 来使会话的复制源失效。
变更历史
- PostgreSQL 19
- 添加了参数
pid(提交 5b148706)
- 添加了参数
- PostgreSQL 9.5
- 新增于(提交 5aa23504)
示例
关于 pg_replication_origin_session_setup() 的基本用法示例
postgres=# SELECT pg_replication_origin_create('test_origin');
pg_replication_origin_create
------------------------------
2
(1 row)
postgres=# SELECT pg_replication_origin_session_setup('test_origin');
pg_replication_origin_session_setup
-------------------------------------
(1 row)
指定的复制源必须存在
postgres=# SELECT pg_replication_origin_session_setup('foo_origin');
ERROR: replication origin "foo_origin" does not exist
当前会话不能已经为之设置了复制源
postgres=# SELECT pg_replication_origin_session_setup('other_origin');
ERROR: cannot setup replication origin when one is already setup
参考资料
- PostgreSQL 文档: pg_replication_origin_session_setup()
