当前位置: 代码网 > it编程>数据库>MsSqlserver > 使用navicat新旧版本连接PostgreSQL高版本报错问题的图文解决办法

使用navicat新旧版本连接PostgreSQL高版本报错问题的图文解决办法

2024年12月17日 MsSqlserver 我要评论
一、问题现象:使用navicat来连接postgresql数据库,发现连接不上,报错信息如下:错误: 字段 d.datlastsysoid 不存在line 1: …, ‘pg

一、问题现象:

使用navicat来连接postgresql数据库,发现连接不上,报错信息如下:

在这里插入图片描述

错误: 字段 d.datlastsysoid 不存在
line 1: …, ‘pg_database’) as comment, t.spcname, d.datacl, d.datlasts…
^

在这里插入图片描述

错误: 字段 c.relhasoids 不存在
line 1: select c.oid, obj_description(c.oid), c.relhasoids as hasoi…
^

在这里插入图片描述

错误: 字段 c.consrc 不存在
line 1: …y, c.confupdtype, c.confdeltype, c.confmatchtype, c.consrc, …
^

hint: 也许您想要引用列"c.conkey"或者列"c.conbin"。

二、出现原因

pgsql 15版本以后,有些系统表的列名改了,pg_database表里的这一个列被删除了

在这里插入图片描述

三、解决方法:

1、升级navicat版本:

将navicat升级到16.2以上版本;

2、使用低版本的postgresql:

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

3、修改navicat的dll二进制文件:

修改内容以datlastsysoid 为例,其他几个报错修改方法相同

navicat版本15

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

navicat版本11

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

以上就是使用navicat新旧版本连接postgresql高版本报错问题的图文解决办法的详细内容,更多关于navicat新旧版本连接postgresql高版本的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com