Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题
1 column “datlastsysoid“ does not exist 2 Line1:SELECT DISTINCT datalastsysoid FROM pg_database
问题分析
Postgres 15
从pg_database表中删除了 datlastsysoid 字段引发此错误。
决绝方案
- 升级navicat
- 降级pgsql
- 修改dll
实操演示
- 打开
Navicat
安装目录,找到libcc.dll文件
- 备份libcc.dll文件,将其复制并粘贴为“libcc.dll.bak”或任何其他名称
3 在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 https://hexed.it。这里使用vscode,vscode有个插件Hex Editor
安装插件Hex Editor
4. 使用vscode右键打开Navicat
安装目录,找到libcc.dll,点击仍然打开,然后选择十六进制编辑器打开,按住ctrl+F
搜索在文件中搜索“SELECT DISTINCT datlastsysoid”
- 将“SELECT DISTINCT datlastsysoid”,替换为“SELECT DISTINCT dattablespace”,替换完成按
ctrl+S
保存
6.重启navicat,可以发现,无论老和新版本的pgsql,都可以正常访问了
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!