更新时间:2025-02-17 GMT+08:00

源库长事务检查

GaussDB为源增量同步场景

表1 源库是否存在上时间未提交事务

预检查项

源库是否存在上时间未提交事务

描述

源库存在长时间未提交事务,创建复制槽会失败,导致增量同步任务失败。

处理建议

1.确认源库实例是否存在长事务,以五分钟为例,参考查询sql:

select datname, pid, xact_start, state, query from pg_stat_activity where xact_start < current_timestamp - interval '300 seconds';

2.如果存在长事务,则等待长事务结束或者杀掉长事物后重试。

SELECT pg_terminate backend(281223408887296);

杀掉后台进程,281223408887296就是pg_stat_activity视图中查询到pid

3.如果没有查到长事务,查询是否存在预备事务,如果有,执行提交。

SELECT * FROM pg_prepared_xacts;