在 Dbeaver 中遇到 SQL 错误 40001
Encountering a SQL Error 40001 in Dbeaver
我正在执行一个正确执行的 count * 查询,但出于某种原因,当我尝试将其导出为 CSV 时,我遇到了 SQL 错误 [40001]。有什么想法可能是什么问题吗?
您是运行备用服务器上的长查询,从主服务器复制的一些修改与您的查询冲突。特别是,VACUUM
删除了您的查询可能仍要使用的一些旧行版本。
PostgreSQL 必须做出选择:要么延迟应用来自主数据库的更改,要么取消阻止复制的查询。
PostgreSQL 的行为方式由参数 max_standby_streaming_delay
决定。默认值使查询在取消前有 30 秒的时间完成。
您有三个选择:
重试查询,希望这次能成功。
增加max_standby_streaming_delay
备用。
您面临的风险 运行 是复制会落后。
在备用数据库上将参数 hot_standby_feedback
设置为 on
,然后主数据库不会 VACUUM
备用数据库可能仍然需要的行版本。
您 运行 的风险是 table 主节点膨胀,因为 autovacuum 无法完成它的工作。
我正在执行一个正确执行的 count * 查询,但出于某种原因,当我尝试将其导出为 CSV 时,我遇到了 SQL 错误 [40001]。有什么想法可能是什么问题吗?
您是运行备用服务器上的长查询,从主服务器复制的一些修改与您的查询冲突。特别是,VACUUM
删除了您的查询可能仍要使用的一些旧行版本。
PostgreSQL 必须做出选择:要么延迟应用来自主数据库的更改,要么取消阻止复制的查询。
PostgreSQL 的行为方式由参数 max_standby_streaming_delay
决定。默认值使查询在取消前有 30 秒的时间完成。
您有三个选择:
重试查询,希望这次能成功。
增加
max_standby_streaming_delay
备用。您面临的风险 运行 是复制会落后。
在备用数据库上将参数
hot_standby_feedback
设置为on
,然后主数据库不会VACUUM
备用数据库可能仍然需要的行版本。您 运行 的风险是 table 主节点膨胀,因为 autovacuum 无法完成它的工作。