云数据库 RDS-只读查询复制冲突:什么是流复制冲突?
什么是流复制冲突?
PostgreSQL的主库与只读库之间使用流复制进行数据同步,由于主库会不断产生wal日志,当这些wal日志同步到只读库,进行日志应用(Apply)过程中会与只读库的查询(Query)产生冲突。
简单来说,就是只读库查询(Query)与Wal日志应用(Apply)冲突。当只读库的恢复进程无法应用从主库同步过来的wal时,发生流复制冲突。
当发生流复制冲突时,我们会在只读库中看到以下错误日志:
ERROR: canceling statement due to conflict with recovery