navicate连接pgsql数据库报错datlastsysoid does not exist
前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱
我在使用使用Navicat Premium 15连接PostgreSQL 16的数据库时,会报错datlastsysoid does not exist,如下:
网上上搜了以下,发现是版本不匹配问题, Postgres 15 从pg_database表中删除了 datlastsysoid 字段引发此错误。
解决方法:
-
升级navicat
-
降级pgsql
-
修改navicat的 libcc.dll文件
我选择的方法是修改dll,懒得升级了 。 方案就是 使用16进制编辑器将libcc.dll文件中的"SELECT DISTINCT datlastsysoid"更改为"SELECT DISTINCT dattablespace"
-
打开
Navicat
安装目录,找到libcc.dll文件
-
然后使用vscode打开,由于这个文件需要16进制编译器打开,所以下载一个Hex Editor插件
这样子就能打开编辑dll文件了
注意这里得先取消navicate的使用,要不然打不开
-
全局查找SELECT DISTINCT datlastsysoid
-
将“SELECT DISTINCT datlastsysoid”,替换为“SELECT DISTINCT dattablespace”,替换完成按
ctrl+S
保存
-
重启navicat,就可以正常访问了
参考文档:
https://www.cnblogs.com/skyvip/p/18141140
https://zhuanlan.zhihu.com/p/659630835
https://blog.csdn.net/asp_netMiss/article/details/137874461
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
- 点赞
- 收藏
- 关注作者
评论(0)