文档首页/
数据治理中心 DataArts Studio/
常见问题/
数据集成(实时作业)/
PostgreSQL/GaussDB作为源端时,作业启动失败且报错信息包含“replication slot "xxx" is already active”怎么办?
更新时间:2025-08-05 GMT+08:00
PostgreSQL/GaussDB作为源端时,作业启动失败且报错信息包含“replication slot "xxx" is already active”怎么办?
问题描述
PostgreSQL/GaussDB作为源端时,实时作业启动失败且报错信息包含“replication slot "xxx" is already active”。
原因分析
PostgreSQL/GaussDB量同步依赖逻辑复制槽,如果一个复制槽已被用于某个实时作业的同步任务,那么它将不能再用于其他作业。
解决方案
- 根据复制槽名称后缀的作业id找到对应正在使用该槽的作业,如果确认作业可以停止,则可以先停止此作业,然后恢复报错的作业。
复制槽命名规则:migration_作业ID,作业ID可以在实时集成作业监控中查看。
- 方式一
图1 查看作业作业ID
- 方式二
图2 查看作业作业ID
- 方式一
- 使用空闲的复制槽,通过命令查询复制槽的状态,或者使用一个新的复制槽。
- 查询复制槽状态的命令。
select slot_name, active from pg_replication_slots
如果active为false,则是空闲状态,反之为工作状态。
正常情况下,因为每个作业的ID不同,默认使用的复制槽也不同,但是如果使用自定义的复制槽就需要考虑冲突的问题。
- 自定义复制槽的方法。
图3 自定义复制槽
- 查询复制槽状态的命令。
父主题: 数据集成(实时作业)