这个报错的原因是版本不兼容 :使用的Navicat版本太旧,但连接的PostgreSQL版本太新。PostgreSQL从版本15 开始,已经从系统表 pg_database 中彻底移除了 datlastsysoid 这个字段。而你正在使用的旧版Navicat(通常是15.0.29之前或16.1之前的版本)在连接时,依然会尝试查询这个已被删除的字段,因此导致报错。
最简单的解决方法就是修改Navicat 安装目录的libcc.dll文件。
1、找到Navicat 安装目录的libcc.dll文件,然后备份。

2、使用十六进制编辑器或者在线工具,例如 https://hexed.it 打开此文件。
3、在文件中搜索"SELECT DISTINCT datlastsysoid",并将其修改为"SELECT DISTINCT dattablespace"。
最后连接成功。
