pg_sync_replication_slots()
是一个用于同步逻辑故障转移复制槽的系统函数。
pg_sync_replication_slots()
在 PostgreSQL 17 中添加。
用法
pg_sync_replication_slots () → void
pg_sync_replication_slots()
只能在备用服务器上执行。
任何临时同步的槽都不能用于逻辑解码,并且必须在备用服务器提升后删除。
使用先决条件
备用服务器必须在主服务器上具有物理复制槽。
以下配置先决条件必须到位
hot_standby_feedback
必须为on
wal_level
必须为logical
primary_conninfo
必须设置,并包含有效的dbname
设置
更改历史记录
- PostgreSQL 17
- 添加(提交 ddd5f4f5)
示例
pg_sync_replication_slots()
的基本用法示例
postgres=# SELECT pg_sync_replication_slots(); pg_sync_replication_slots --------------------------- (1 row)
尝试在没有必需的物理复制槽的情况下执行 pg_sync_replication_slots()
postgres=# SELECT pg_sync_replication_slots(); ERROR: bad configuration for slot synchronization HINT: "primary_slot_name" must be defined.
尝试在主服务器上执行 pg_sync_replication_slots()
postgres=# SELECT pg_sync_replication_slots(); ERROR: replication slots can only be synchronized to a standby server