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 字段引发此错误。
决绝方案

  1. 升级navicat
  2. 降级pgsql
  3. 修改dll

实操演示

  1. 打开 Navicat 安装目录,找到libcc.dll文件
  2. 备份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”

  1. 将“SELECT DISTINCT datlastsysoid”,替换为“SELECT DISTINCT dattablespace”,替换完成按ctrl+S保存

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

posted @   Excel2016  阅读(1836)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示