更新时间:2026-02-11 GMT+08:00
GaussDB数据源如何手动删除复制槽?
问题描述
GaussDB数据源不会自动删除复制槽,当复制槽数达到上限时需要手动删除复制槽,作业不再使用时,为避免日志堆积也要删除复制槽。
原因分析
GaussDB数据源不会自动删除复制槽。
解决方案
- 确认要删除的复制槽,复制槽命名规则:migration_作业ID,作业ID可以在实时集成作业监控中查看。
- 方式一:
图1 查看作业ID
- 方式二:
图2 查看作业ID
- 方式一:
- 登录作业使用的源数据库。
- 查询同步任务选择的database对象所对应的流复制槽名称。
select slot_name from pg_replication_slots where database = 'database';
- 执行如下语句,删除对应的流复制槽。
select * from pg_drop_replication_slot('slot_name'); - 执行如下语句,查询流复制槽是否成功删除。
select slot_name from pg_replication_slots where slot_name = 'slot_name';
- 如果是gaussdb分布式,需要每个分片都执行,首先,查看各分片名称。
SELECT distinct node_name FROM pgxc_node
- 在指定分片上执行sql。
EXECUTE DIRECT ON(dn_6001_6002) 'select pg_drop_replication_slot(''slot_name'')'; EXECUTE DIRECT ON(dn_6003_6004) 'select pg_drop_replication_slot(''slot_name'')';
父主题: 数据集成(实时作业)
