navicat连接postgresql、人大金仓等数据库报错

navicat连接postgresql、人大金仓数据库报错问题是一个偶现的问题,需要我们特别关注:

1、客户端连接人大金仓数据库

navicat连接postgresql、人大金仓等数据库报错_第1张图片

这里注意:navicat连接postgresql、人大金仓数据库时均选择postgresql类型,因为人大金仓数据库底层和psql数据库类似。

2、数据库信息填完之后,点击测试连接

navicat连接postgresql、人大金仓等数据库报错_第2张图片

这时候是成功的,点击确定,但是 如下 .....

3、然后点击数据库打开时报错

navicat连接postgresql、人大金仓等数据库报错_第3张图片

信息:

ERROR:column “datlastsysoid“ does not exist 
Line1:SELECT DISTINCT datalastsysoid FROM pg_database

4、原因如下:

Postgres 15 从表中删除了 datlastsysoid 字段pg_database因此 Navicat 15.0.29 到 16.1 之间的任何版本在查找此已弃用字段时都会引发此错误。

navicat连接postgresql、人大金仓等数据库报错_第4张图片

1)要解决此问题,请升级到最新的 16.2 及更高版本。

2)执行以下操作:

打开 Navicat 文件夹(通常在 C:\Program Files\PremiumSoft\Navicat Premium 15\) 下),取决于您的 Navicat 版本找到libcc.dll并创建此文件的备份(将其复制并粘贴为“libcc-old.dll”或任何其他名称)

navicat连接postgresql、人大金仓等数据库报错_第5张图片
在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 16进制转换
在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”。将文件保存在原始位置就可以了。
 navicat连接postgresql、人大金仓等数据库报错_第6张图片

加载之后进行替换、然后另存为就OK了。 

3)降级pgsql

到此、分享完毕,希望能帮助到大家。

你可能感兴趣的:(java)