navicat连接postgresql报错

navicat连接postgresql报错

现象

有小伙伴告诉我

安装了新的postgresql

使用navicat连接,报错

代码语言:javascript
复制
column “datlastsysoid“ does not exist 
Line1:SELECT DISTINCT datalastsysoid FROM pg_database

这主要是pgsql 15版本以后

有些系统表的列名改了

pg_database表里的这一个列被删除了导致的

解决方法1:升级navicat

将navicat升级到16.2以上版本

可以解决这个问题

解决方法2:降级pgsql

老版本仍然可用

终极解决方法3:修改dll

找到navicat安装目录

有一个libcc.dll文件

1.备份这个文件

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

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

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

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

重启navicat,可以发现

无论老和新版本的pgsql

都可以正常访问了

navicat的安装可以参考我的另一篇文章有关navicat16的

觉得有用可以多看看我的文章

希望大家都能解决问题

共同成长