在 Dbeaver 中遇到 SQL 错误 40001
Posted
技术标签:
【中文标题】在 Dbeaver 中遇到 SQL 错误 40001【英文标题】:Encountering a SQL Error 40001 in Dbeaver 【发布时间】:2020-02-24 16:53:08 【问题描述】:我正在执行正确执行的 count * 查询,但由于某种原因,当我尝试将其导出为 CSV 时,我遇到了 SQL 错误 [40001]。任何想法可能是什么问题?
【问题讨论】:
【参考方案1】:您正在备用服务器上运行长查询,并且从主服务器复制的一些修改与您的查询冲突。特别是,VACUUM
删除了一些您的查询可能仍想使用的旧行版本。
PostgreSQL 必须做出选择:要么延迟应用来自主数据库的更改,要么取消阻止复制的查询。
PostgreSQL 的行为方式由参数max_standby_streaming_delay
决定。默认值让查询在取消前 30 秒完成。
您有三个选择:
重试查询,希望这次成功。
在待机时增加max_standby_streaming_delay
。
您面临的风险是复制会落后。
在备用数据库上将参数hot_standby_feedback
设置为on
,然后主数据库不会VACUUM
备用数据库可能仍需要的行版本。
您面临的风险是主数据库上的表膨胀,因为 autovacuum 无法完成它的工作。
【讨论】:
以上是关于在 Dbeaver 中遇到 SQL 错误 40001的主要内容,如果未能解决你的问题,请参考以下文章
如何让 dbeaver 突出显示 sql 错误以便于开发过程
如何在 SQL DBeaver 中查找时间戳大于某个日期时间的数据?
DBEAVER 未在 DDSL 中显示 SQL Server 聚集索引