使用navicat连接postgresql报错问题解决
作者:mmseoamin日期:2023-12-13

使用navicat连接postgresql报错问题解决

一、问题现象:

最近使用Navicat来连接postgreSQL数据库,发现连接不上,报错信息如下:

使用navicat连接postgresql报错问题解决,在这里插入图片描述,第1张

自己百度了一下,发现pgsql 15版本以后,有些系统表的列名改了,pg_database表里的这一个列被删除了导致的。

使用navicat连接postgresql报错问题解决,在这里插入图片描述,第2张

二、解决方法:

1、升级Navicat版本:

将navicat升级到16.2以上版本;

使用navicat连接postgresql报错问题解决,在这里插入图片描述,第3张

2、使用低版本的postgreSQL:

降级pgsql、老版本仍然可用。

3、修改Navicat的dll文件:

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

使用navicat连接postgresql报错问题解决,在这里插入图片描述,第4张

  • 备份这个文件;
  • 进入网站 https://hexed.it/ 打开本地的libcc.dll 文件;
  • 右侧点击搜索,关键词 SELECT DISTINCT datlastsysoid ;
  • 找到之后,把 datlastsysoid 这几个字,改成 dattablespace ;
  • 然后把文件下载回来,放回原处。

    使用navicat连接postgresql报错问题解决,在这里插入图片描述,第5张

    最后,重启Navicat,可以发现无论老和新版本的pgsql都可以正常访问了。

    使用navicat连接postgresql报错问题解决,在这里插入图片描述,第6张