You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL逻辑复制运行一段时间后突然停止问题排查求助

PostgreSQL逻辑复制运行20分钟后停止的可能原因
  • 复制槽异常:执行SELECT * FROM pg_replication_slots;查看主库复制槽状态,若active为f,说明复制槽已失效;若restart_lsn与当前WAL位置差距过大,可能是备库消费速度不足,主库WAL被清理后无法继续同步。
  • 连接中断未重连:检查备库pg_log日志,是否存在网络波动、连接超时导致的断开。若primary_conninfo未配置keepalives_idle等保活参数,连接断开后不会自动恢复。
  • 表结构不一致:主库若对某张表执行DDL变更(如加字段、改类型),备库未同步该变更时,后续复制操作会触发报错,导致复制进程停止。查看备库日志是否有column does not exist或type mismatch类错误。
  • 复制进程崩溃:检查备库系统日志和PostgreSQL日志,是否存在walreceiver进程因内存不足被系统杀死(如out of memory条目),或进程崩溃记录(如walreceiver process died)。
  • 权限变更:复制用户的REPLICATION权限或部分表的SELECT权限被意外撤销,导致主库无法读取WAL或表数据,复制中断。
  • WAL日志被提前清理:主库wal_keep_size设置过小,或使用pg_repack等工具清理了WAL,备库需要的日志文件已被删除,无法继续同步。
  • 大事务阻塞:主库存在长时间运行的大事务,导致WAL积压,备库持续等待事务提交,表现为复制停止。执行SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction' AND now() - query_start > interval '10 minutes';排查长事务。

内容的提问来源于stack exchange,提问作者Alisahib Qadimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:38:16