发布订阅与复制槽
发布订阅与复制槽
-- 源端(需 wal_level=logical,修改后重启)
SHOW wal_level;
CREATE PUBLICATION pub_orders FOR TABLE app.orders;
-- 目标端订阅
CREATE SUBSCRIPTION sub_orders
CONNECTION 'host=10.0.0.5 dbname=app user=repl password=***'
PUBLICATION pub_orders;
-- 源端查看复制槽状态与保留位点
SELECT slot_name, active, restart_lsn FROM pg_replication_slots;| wal_level | logical 才能逻辑解码 |
|---|---|
| 复制槽 | 保存消费进度;未消费则 WAL 不回收 |
| pgoutput | 内置逻辑解码插件,Debezium 连接器常用 |
| REPLICA IDENTITY | 决定 update/delete 事件能带出多少旧值 |
建槽后没人消费 = WAL 堆积直至写满磁盘;删除槽前先确认没有订阅仍在使用。