navicat连接postgresql报错

本文描述了在Navicat中连接PostgreSQL时遇到的错误,由于pgsql15版本后列名更改,提出三种解决方案:升级Navicat、降级PostgreSQL版本或修改libcc.dll中的dll文件。最终,无论pg_version,修改dll可解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

老版本仍然可用

终极解决方法3:修改dll

找到navicat安装目录

有一个libcc.dll文件

1.备份这个文件

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

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

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

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

重启navicat,可以发现

无论老和新版本的pgsql

都可以正常访问了

希望大家都能解决问题

共同成长

摘自链接