PGSQL 15 版本会连接pg数据库出现错误column “datlastsysoid“ does not exist Line1:SELECT DISTINCT datalastsysoid FROM pg_database
#
原因
Postgres 15 从表中删除了 datlastsysoid 字段pg_database因此 Navicat 15.0.29 或 16.1 之前的任何版本在查找此已弃用字段时都会引发此错误。
要解决此问题,有两个方案
-
升级到最新的 Navicat 15.0.29 或 16.1 及更高版本(可能需要新的许可证)
-
手动修改ddl文件
- 打开 Navicat 文件夹(通常在 C:\Program Files\PremiumSoft\Navicat…) 下),取决于您的 Navicat 版本找到libcc.dll
- 创建此文件的备份(将其复制并粘贴为“libcc-backup.dll”或任何其他名称)
- 在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 https://hexed.it/。
- 在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”
- 将文件保存在原始位置。如果遇到任何安全问题,请将其另存为“.txt”文件,然后将其重命名为“.dll”
原文链接:https://blog.youkuaiyun.com/ximaiyao1984/article/details/130775496。感谢大佬的分享,亲测有效。