如果你使用 Navicat15
链接 PostgreSQL
数据库时,报了如下错误:
consoleERROR: column "datlastsysoid" does not exist LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database
不要慌,这是软件的问题,不是你的问题!
Postgres15
从 pg_database
表中删除了 datlastsysoid
字段,因此 Navicat 15.0.29
或 16.1
之前的任何版本在查找这个弃用的字段时都会引发此错误。
因此,解决办法如下:
这种方式最简单,但有风险。
要解决此问题,可以升级到最新的 Navicat 15.0.29
或 16.1
及更高版本,不过,这有可能导致你的激活方式失效,但是老狗尝试了离线激活方式不会影响,因此如果你是离线激活方式,基本可以放心更新到 Navicat 15.0.29
。
PS: 不敢保证昂,每个人的情况不同!请自行考虑是否升级!
另外提示,如果你有原软件的安装包和激活码,完全可以尝试升级一下,如果需要重新激活,大可以重新安装激活嘛。
如果你不想承担激活失效的风险,可以尝试下列较为复杂的解决办法:
这种方案需要你修改 Navicat
软件编译后一个库文件,因此请备份好原库文件,防止软件无法使用!详细步骤如下:
Navcat
;Navicat
文件夹(通常在 C:\Program Files\PremiumSoft\Navicat....
下),取决于您的自己安装的 Navicat
路径;libcc.dll
并创建此文件的备份(将其复制并粘贴为“libcc-backup.dll
”或任何其他名称,请自行修改);HEX
编辑器中打开此文件,如果需要,您可以使用在线工具,例如 https://hexed.it/
。SELECT DISTINCT datlastsysoid
”,并将其替换为“SELECT DISTINCT dattablespace
”Navicat
可以像以前一样工作了。如果您有 ESET
或其他安全工具,dll
文件可能会被锁定几分钟,以进行安全检查。请耐心等待,并在约 5
分钟后再次尝试...本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!