云数据库 RDS-只读查询复制冲突:什么是流复制冲突?

时间:2024-09-06 14:25:16

什么是流复制冲突?

PostgreSQL的主库与只读库之间使用流复制进行数据同步,由于主库会不断产生wal日志,当这些wal日志同步到只读库,进行日志应用(Apply)过程中会与只读库的查询(Query)产生冲突。

简单来说,就是只读库查询(Query)与Wal日志应用(Apply)冲突。当只读库的恢复进程无法应用从主库同步过来的wal时,发生流复制冲突。

当发生流复制冲突时,我们会在只读库中看到以下错误日志:

ERROR: canceling statement due to conflict with recovery
support.huaweicloud.com/usermanual-rds/rds_pg_08_00016.html