使用 Navicat Premium 连接到 Postgres 15 后无法打开连接

问题描述 投票:0回答:3

我遇到了 PostgreSQL 15 和 Navicat 15 之间的连接问题。

我的环境是:

  • Windows 10
  • PostgreSQL 15
  • Navicat Premium 15.0.16(已激活)

制作方法:

  • 打开“新连接”对话框。 (文件 -> 新连接 -> PostgreSQL...)
  • 将信息放入字段中。
  • 检查“测试连接”是否有效。 (这对我来说也有效。)
  • 单击“确定”
  • 在连接列表中,双击该连接。

预计:
应该能够打开连接。

实际:
它在错误对话框中显示以下消息。

ERROR: column "datlastsysoid" does not exist
LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database
postgresql navicat
3个回答
16
投票

Postgres 15 从 pg_database 表中删除了 datlastsysoid 字段,因此 Navicat 15.0.29 或 16.1 之前的任何版本在查找此已弃用的字段时都会引发此错误。

要解决此问题,请升级到最新的 Navicat 15.0.29 或 16.1 及更高版本(可能需要新许可证),或者执行以下操作:

  1. 退出 Navcat。
  2. 打开 Navicat 文件夹(通常位于 C:\Program Files\PremiumSoft\Navicat...),取决于您的 Navicat 版本
  3. 找到 libcc.dll 并创建该文件的备份(将其复制并粘贴为“libcc-backup.dll”或任何其他名称)
  4. 在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如https://hexed.it/
  5. 在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”
  6. 将文件保存在原始位置。如果您遇到任何安全问题,请将其另存为“.txt”文件,然后将其重命名为“.dll”
  7. 就是这样! Navicat 现在可以像以前一样工作了。如果您有ESET或其他安全工具,该dll文件可能会被锁定几分钟,以进行安全检查。请耐心等待,约 5 分钟后再次尝试...

享受吧!


5
投票

如果您升级到最新的 Navicat 版本,该错误就会消失。版本 16.1.5 确实解决了这个问题。


0
投票

我也遇到了同样的问题,因为他们使用的是navicat 15,但是一旦我更改为版本16,该错误就消失了。 更改版本即可!

© www.soinside.com 2019 - 2024. All rights reserved.