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

解决方法1:升级navicat

(请升级到最新的 16.2 及更高版本(可能需要新的许可证))

解决方法2:降级pgsql

解决方法3:修改dll (亲测可行)
如下为解决方法3操作:

1.打开 Navicat 安装目录,找到libcc.dll
2.在任何十六进制编辑器(HxDHexEditor2.3.0.0)中打开此文件,如果需要,可以使用在线工具,例如 https://hexed.it/。(建议下载HxDHexEditor2.3.0.0(64位)操作,在线工具我试过,替换后乱码导致不成功)
3.用HxDHexEditor打开后还会显示乱码,不要紧,在文件中还是能搜到“datlastsysoid”,将其替换为“dattablespace” ,要替换四处地方,查找替换操作时要“勾选从头查找”替换,不然可能替换不完全,保存,重启就能连上了。

参考:

解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错-CSDN博客

navicat连接postgresql报错_error: column "datlastsysoid" does not exist-CSDN博客

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐