使用navicat连接postgresql时会出现无法打开数据库的问题(测试连接ok,但是打开数据库时会出现"ERROR: column datlastsysoid“ does not exist LINE 1: SELECT DISTINCT datlastsysoid FROM pg database"
原因:
Postgres 15 从表中删除了 datlastsysoid 字段pg_database,因此 Navicat 15.0.29 或 16.1 之前的任何版本在查找此已弃用字段时都会引发此错误
解决方案:
关闭navicat,打开navicat安装目录,找到libcc.dll文件(先备份一份防止后面出问题方便还原),使用十六进制编辑器打开libcc.dll文件,推荐使用在线编辑器https://hexed.it/,打开编辑器后导入libcc.dll文件,ctrl+f 搜索"SELECT DISTINCT datlastsysoid",找到后将"datlastsysoid" 替换为"dattablespace",将文件导出(另存为)到初始位置,打开navicat,测试连接打开数据库,可以正常使用。