navicat连接postgresql报错
navicat连接postgresql报错
现象
有小伙伴告诉我
安装了新的postgresql
使用navicat连接,报错
ERROR: column "datlastsysoid" does not existLINE 1: SELECT DISTINCT datlastsysoid FROM pg database
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的
私信资源可以获取
希望大家都能解决问题
共同成长