【发布时间】:2020-02-24 16:53:08
【问题描述】:
【问题讨论】:
标签: postgresql dbeaver
【问题讨论】:
标签: postgresql dbeaver
您正在备用服务器上运行长查询,并且从主服务器复制的一些修改与您的查询冲突。特别是,VACUUM 删除了一些您的查询可能仍想使用的旧行版本。
PostgreSQL 必须做出选择:要么延迟应用来自主数据库的更改,要么取消阻止复制的查询。
PostgreSQL 的行为方式由参数max_standby_streaming_delay 决定。默认值让查询在取消前 30 秒完成。
您有三个选择:
重试查询,希望这次成功。
在待机时增加max_standby_streaming_delay。
您面临的风险是复制会落后。
在备用数据库上将参数hot_standby_feedback 设置为on,然后主数据库不会VACUUM 备用数据库可能仍需要的行版本。
您面临的风险是主数据库上的表膨胀,因为 autovacuum 无法完成它的工作。
【讨论】: