目 录CONTENT

文章目录

navicat连接postgresql报错

Eric
2023-12-11 / 0 评论 / 0 点赞 / 53 阅读 / 285 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

navicat连接postgresql报错

img

  • 现象

navicat连接postgresql报错

image-20231211120543952

安装了新的postgresql,使用navicat连接,报错

column “datlastsysoid“ does not exist 
Line1:SELECT DISTINCT datalastsysoid FROM pg_database

这主要是pgsql 15版本以后有些系统表的列名改了pg_database表里的这一个列被删除了导致的

img

解决方法1:升级navicat

将navicat升级到16.2以上版本,就可以解决这个问题

image-20231211120749625

解决方法2:降级pgsql

老版本仍然可用

16.1-alpine3.18 降级为:postgres:14.10-alpine

image-20231211121151646

image-20231211121302182

已连接正常

image-20231211121247626

终极解决方法3:修改dll

找到navicat安装目录,有一个libcc.dll文件

img

1.备份这个文件

2.进入网站https://hexed.it/ 打开本地的libcc.dll 文件

3.右侧点击搜索,关键词“SELECT DISTINCT datlastsysoid”

4.找到之后,把‘datlastsysoid’这几个字,改成“dattablespace”

5.然后把文件下载回来,放回原处

img

重启navicat,可以发现

无论老和新版本的pgsql

都可以正常访问了

希望大家都能解决问题

0

评论区