2025-01-06
温故知新
00

目录

报错详情
方案1:更新Navicat
方案2:修改软件dll库文件

报错详情

如果你使用 Navicat15 链接 PostgreSQL 数据库时,报了如下错误:

console
ERROR: column "datlastsysoid" does not exist LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database

不要慌,这是软件的问题,不是你的问题!

Postgres15pg_database 表中删除了 datlastsysoid 字段,因此 Navicat 15.0.2916.1 之前的任何版本在查找这个弃用的字段时都会引发此错误。

因此,解决办法如下:

方案1:更新Navicat

这种方式最简单,但有风险。

要解决此问题,可以升级到最新的 Navicat 15.0.2916.1 及更高版本,不过,这有可能导致你的激活方式失效,但是老狗尝试了离线激活方式不会影响,因此如果你是离线激活方式,基本可以放心更新到 Navicat 15.0.29

PS: 不敢保证昂,每个人的情况不同!请自行考虑是否升级!

另外提示,如果你有原软件的安装包和激活码,完全可以尝试升级一下,如果需要重新激活,大可以重新安装激活嘛。

如果你不想承担激活失效的风险,可以尝试下列较为复杂的解决办法:

方案2:修改软件dll库文件

这种方案需要你修改 Navicat 软件编译后一个库文件,因此请备份好原库文件,防止软件无法使用!详细步骤如下:

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

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!