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

升级PostgreSQL后pgAdmin无法显示PostgreSQL9表列表,报错求助

pgAdmin无法显示PostgreSQL 9服务器表列表,降级至v12后出现字段不存在错误

问题背景

今日上午将本地PostgreSQL测试服务器从v14升级至PostgreSQL 15,打开pgAdmin时收到警告,提示因已添加PostgreSQL 9版本服务器,部分功能可能无法正常工作。

已执行操作

  • 完成PostgreSQL v14到v15的升级
  • 发现pgAdmin出现警告且无法查看表列表
  • 卸载v15并重装v14,问题仍未解决
  • 卸载v14并安装PostgreSQL v12(卸载时已彻底清理:删除ProgramFiles及AppData/Roaming目录下的PostgreSQL文件夹)

当前状态

  • pgAdmin仍无法显示PostgreSQL 9服务器的表列表,无法升级该服务器但需继续通过pgAdmin使用它,所有查询均可正常执行
  • 添加PostgreSQL 9服务器时,pgAdmin会弹出警告
  • pgAdmin可正常列出所有模式、视图和序列,但点击“Tables”选项时会持续加载,始终无法展示表列表
  • 操作系统:Windows 10 64位

新增错误(降级至v12后)

执行操作时出现如下错误:

ERROR: column "wait_event_type" does not exist 
LINE 10: wait_event_type || ': ' || wait_event AS wait_event, 
^

解决方案

1. 安装与PostgreSQL 9兼容的pgAdmin版本

PostgreSQL 9.x已停止官方支持,高版本pgAdmin对其兼容性不足。需安装pgAdmin 4 v6.x及以下版本(推荐v6.18,为最后一个明确支持PostgreSQL 9.5+的官方版本):

  • 卸载当前pgAdmin,删除AppData/Roaming目录下的pgAdmin文件夹
  • 下载对应版本的安装包完成安装后,重新连接PostgreSQL 9服务器

2. 修复wait_event_type字段报错

该错误因pgAdmin执行的查询使用了PostgreSQL 9.x不存在的字段(wait_event_type从PostgreSQL 9.6开始引入),可通过以下方式解决:

  • 修改pgAdmin的SQL查询模板:找到pgAdmin安装目录下的share/pgadmin4/sql文件夹,定位包含wait_event_type的文件(如server_activity.sql),将对应行修改为适配旧版本的写法:
    -- 替换原代码行
    CASE WHEN pg_version_num() >= 90600 THEN wait_event_type || ': ' || wait_event ELSE wait_event END AS wait_event,
    
  • 或直接禁用pgAdmin的服务器活动监控功能,避免触发该查询

3. 替代客户端方案

若pgAdmin兼容性问题无法彻底解决,可改用PostgreSQL自带的psql命令行工具,或DBeaver等对旧版本PostgreSQL支持更好的客户端进行管理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:55:14