You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Navicat Premium连接PostgreSQL 15后无法打开,提示datlastsysoid列不存在

PostgreSQL 15与Navicat 15连接报错:column "datlastsysoid" does not exist

问题场景

环境:Windows 10、PostgreSQL 15、Navicat Premium 15.0.16(已激活)

问题复现步骤:

  • 打开「新建连接」对话框(文件->新建连接->PostgreSQL...)
  • 填写连接相关信息
  • 测试连接(可正常通过)
  • 点击「确定」保存连接
  • 在连接列表双击该连接

预期结果:正常打开连接
实际结果:弹出错误对话框,提示:

ERROR: column "datlastsysoid" does not exist
LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database

原因分析

PostgreSQL 12及以后版本已移除pg_database表中的datlastsysoid字段,但Navicat Premium 15.0.16版本未适配该架构变更,导致连接后执行的查询语句报错。

解决方案

  1. 优先方案:升级Navicat版本
    将Navicat Premium升级到15.0.24及以上版本(该版本开始适配PostgreSQL 15),升级后重新建立连接即可解决问题。

  2. 临时过渡方案(不推荐长期使用)
    若暂时无法升级Navicat,可在PostgreSQL中创建视图模拟datlastsysoid字段,执行以下SQL:

CREATE OR REPLACE VIEW pg_database AS
SELECT 
    oid, datname, datdba, encoding, datcollate, datctype, 
    datistemplate, datallowconn, datconnlimit, 
    (SELECT oid FROM pg_namespace WHERE nspname = 'pg_catalog') AS datlastsysoid,
    datfrozenxid, datminmxid, dattablespace, datacl 
FROM pg_database;

注意:该视图会覆盖系统默认的pg_database视图,可能引发其他兼容性问题,仅作为临时过渡使用。

内容的提问来源于stack exchange,提问作者tedchow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:40:26