在 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 没有活动连接

如何让 dbeaver 突出显示 sql 错误以便于开发过程

如何在 SQL DBeaver 中查找时间戳大于某个日期时间的数据?

DBEAVER 未在 DDSL 中显示 SQL Server 聚集索引

LightDB(pg) 通过DBeaver执行SQL发现SQL不能并行

我无法在我的 DBeaver 工具中运行 HIVE 功能