navicat连接postgresql报错
- 现象
navicat连接postgresql报错
安装了新的postgresql,使用navicat连接,报错
column “datlastsysoid“ does not exist
Line1:SELECT DISTINCT datalastsysoid FROM pg_database
这主要是pgsql 15版本以后有些系统表的列名改了pg_database表里的这一个列被删除了导致的
解决方法1:升级navicat
将navicat升级到16.2以上版本,就可以解决这个问题
解决方法2:降级pgsql
老版本仍然可用
16.1-alpine3.18 降级为:postgres:14.10-alpine
已连接正常
终极解决方法3:修改dll
找到navicat安装目录,有一个libcc.dll文件
1.备份这个文件
2.进入网站https://hexed.it/ 打开本地的libcc.dll 文件
3.右侧点击搜索,关键词“SELECT DISTINCT datlastsysoid”
4.找到之后,把‘datlastsysoid’这几个字,改成“dattablespace”
5.然后把文件下载回来,放回原处
重启navicat,可以发现
无论老和新版本的pgsql
都可以正常访问了
希望大家都能解决问题
评论区