使用navicat连接postgresql报错问题解决
一、问题现象:
最近使用Navicat来连接postgreSQL数据库,发现连接不上,报错信息如下:
自己百度了一下,发现pgsql 15版本以后,有些系统表的列名改了,pg_database表里的这一个列被删除了导致的。
二、解决方法:
1、升级Navicat版本:
将navicat升级到16.2以上版本;
2、使用低版本的postgreSQL:
降级pgsql、老版本仍然可用。
3、修改Navicat的dll文件:
找到navicat安装目录,有一个libcc.dll文件。
- 备份这个文件;
- 进入网站 https://hexed.it/ 打开本地的libcc.dll 文件;
- 右侧点击搜索,关键词 SELECT DISTINCT datlastsysoid ;
- 找到之后,把 datlastsysoid 这几个字,改成 dattablespace ;
- 然后把文件下载回来,放回原处。
最后,重启Navicat,可以发现无论老和新版本的pgsql都可以正常访问了。