Windows 11下PostgreSQL 15与pgAdmin连接报500错误求助
PostgreSQL 15 + pgAdmin 6.15 本地连接500错误处理
问题概述
- 系统环境:Windows 11(系统识别为Windows-10-10.0.22621-SP0),已部署PostgreSQL 15与pgAdmin 4 6.15桌面版
- 触发场景:创建新数据库后尝试本地连接,页面抛出「Request failed with status code 500」错误
- 底层错误:Postgres日志显示
UNION types "char" and text cannot be matched at character 745,原因是pgAdmin执行的SQL查询中,UNION联合的两个结果集存在字段类型不匹配(char与text)
环境信息
Version 6.15 Application Mode Desktop Current User pgadmin4@pgadmin.org NW.js Version 0.62.2 Browser Chromium 99.0.4844.84 Operating System Windows-10-10.0.22621-SP0
解决方法
1. 升级pgAdmin至兼容版本
PostgreSQL 15正式发布后,pgAdmin 6.15存在部分兼容性bug,推荐升级到6.16及以上版本,官方已修复这类类型不匹配的查询问题。
2. 临时修复SQL语句(适用于无法立即升级的场景)
从Postgres日志中复制出错的完整SQL语句,找到UNION两侧类型不匹配的字段,将char类型字段通过::text强制转换为text类型,例如:
原字段:some_char_col
修改后:some_char_col::text
执行修改后的SQL验证,再重启pgAdmin尝试连接。
3. 排查异常数据库扩展
检查目标数据库是否安装了非官方或修改系统表结构的扩展,临时禁用这类扩展后重新尝试连接,确认是否为扩展导致的系统表字段类型异常。
4. 重置pgAdmin配置
删除pgAdmin的配置目录(默认路径为%APPDATA%\pgAdmin),重启pgAdmin后重新配置数据库连接,排除配置文件损坏导致的查询逻辑异常。
内容的提问来源于stack exchange,提问作者Andrus
相关产品推荐
相关产品推荐

