navicat连接postgresql、人大金仓数据库报错问题是一个偶现的问题,需要我们特别关注:
1、客户端连接人大金仓数据库
这里注意:navicat连接postgresql、人大金仓数据库时均选择postgresql类型,因为人大金仓数据库底层和psql数据库类似。
2、数据库信息填完之后,点击测试连接
这时候是成功的,点击确定,但是 如下 .....
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 之间的任何版本在查找此已弃用字段时都会引发此错误。
1)要解决此问题,请升级到最新的 16.2 及更高版本。
2)执行以下操作:
打开 Navicat 文件夹(通常在 C:\Program Files\PremiumSoft\Navicat Premium 15\) 下),取决于您的 Navicat 版本找到libcc.dll并创建此文件的备份(将其复制并粘贴为"libcc-old.dll"或任何其他名称)
在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 16进制转换
在文件中搜索"SELECT DISTINCT datlastsysoid",并将其替换为"SELECT DISTINCT dattablespace"。将文件保存在原始位置就可以了。
加载之后进行替换、然后另存为就OK了。
3)降级pgsql
到此、分享完毕,希望能帮助到大家。