解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错(亲测可行)

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博客

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值