公司项目用到Postgres数据库,可视化管理工具我一般用的Navicat,之前也没有怎么用过Postgres数据库,自然对应的pgAmin工具也不是用起来也不是很友好,所以偷懒用Navicat,连接成功后,报错如下:
查阅一下资料,Postgres 15 从表中删除了 datlastsysoid 字段pg_database,因此 Navicat 15.0.29 或 16.1 之前的任何版本在查找此已弃用字段时都会引发此错误。
要解决此问题,请升级到最新的 Navicat 15.0.29 或 16.1 及更高版本(可能需要新的许可证),国内选手应该不需要许可证,哈哈哈。
还有一种方法是我参考别人讲述的,大家可以尝试以下:
- 打开 Navicat 文件夹(通常在 C:\Program Files\PremiumSoft\Navicat…) 下),取决于您的 Navicat 版本找到libcc.dll并创建此文件的备份(将其复制并粘贴为“libcc-backup.dll”或任何其他名称)。
- 在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 https://hexed.it/。
- 在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”。
- 将文件保存在原始位置。如果遇到任何安全问题,请将其另存为“.txt”文件,然后将其重命名为“.dll”。