下载免费网站模板,手机网站建设技术方案书,合肥微网站,软件开发专业考研使用navicat新旧版本#xff0c;连接PostgreSQL高版本报错问题图文解决办法 一、问题现象#xff1a;二、出现原因三、解决方法#xff1a;1、升级Navicat版本#xff1a;2、使用低版本的postgreSQL#xff1a;3、修改Navicat的dll二进制文件#xff1a;navicat版本15nav… 使用navicat新旧版本连接PostgreSQL高版本报错问题图文解决办法 一、问题现象二、出现原因三、解决方法1、升级Navicat版本2、使用低版本的postgreSQL3、修改Navicat的dll二进制文件navicat版本15navicat版本11 一、问题现象
使用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都可以正常访问了。