Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题
column “datlastsysoid“ does not exist
Line1:SELECT DISTINCT datalastsysoid FROM pg_database
Postgres 15 从pg_database表中删除了 datlastsysoid 字段引发此错误。
决绝方案
-
解决方法1:升级navicat
-
解决方法2:降级pgsql
-
解决方法3:修改dll
打开 Navicat 安装目录,找到libcc.dll文件
将其复制并粘贴为“libcc.dll.bak”或任何其他名称
件的备份(将其复制并粘贴为“libcc-backup.dll”或任何其他名称)
在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 https://hexed.it/。
在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”
将文件保存在原始位置。如果遇到任何安全问题,请将其另存为“.txt”文件,然后还原备份文件
重启navicat,可以发现,无论老和新版本的pgsql,都可以正常访问了