背景:Postgres 15 从表中删除了datlastsysoid字段pg_database因此Navicat 15.0.29或16.1之前的任何版本在查找次已弃用字段时都会引发此错误。
两种解决方案:
一、升级Navicat到最新版
1、升级到最新的Navicat 15.0.29或16.1及更高版本(可能需要新的许可证);
二、修改navicat目录下libcc.dll文件
1、打开Navicat文件夹(通常在C:\Program Files\PremiumSoft\Navicat……下),找到安装Navicat目录下的libcc.dll文件,并备份此文件(libcc.dll_bak等名称)。
2、在任何十六进制编辑器中打开此文件(推荐UltraEdit),如果需要,可以使用在线工具,如:https://hexed.it/。
3、在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”。
4、保存文件在原始位置。若遇到任何安全问题,请将其另存为“txt”文件,然后将其重命名为“.dll”文件。