Dataphin管道任务报错“org.postgresql.util.PSQLException: FATAL: terminating connection due to conflict with recovery”

更新时间:

问题描述

用户在使用管道任务同步数据时,任务报错“org.postgresql.util.PSQLException: FATAL: terminating connection due to conflict with recovery”。

问题原因

报错是备库事务或者单SQL查询时间长,和备库的日志apply发生冲突,如果业务上有长事务、长查询,主库上又再修改同一行数据,很容易造成备库的wal日志无法apply。

解决方案

wal无法apply数据库有两个策略:

1.备库告诉主库需要哪些版本,让主库保留,备库查询始终能拿到需要的版本,不阻塞apply,因为备库总能拿到需要的版本。
2.备库apply进入等待,直到备库冲突查询结束,继续apply。可以设置超时时间max_standby_streaming_delay。

适用于

  • Dataphin 公有云