当前位置:论坛首页 > Linux面板 > 建议

【待反馈】宝塔PostgreSQL管理器报错"请求过程发现错误"解...

发表在 Linux面板昨天 13:18 [复制链接] 1 39

=============================================================
    宝塔PostgreSQL管理器报错解决方案
    问题现象:“请求过程发现错误” & 数据库名连字符陷阱
=============================================================

一、问题现象

在宝塔面板的“数据库”管理界面创建 PostgreSQL 数据库时,使用带连字符的数据库名(例如 joypal-prod):

- 创建时提示错误,但宝塔数据库列表中仍显示该数据库。
- 后续访问 PostgreSQL 管理器,点击“数据库列表”等操作提示:
    “请求过程发现错误!”

查看请求日志显示 500 错误:
    POST /plugin?action=a&name=pgsql_manager&s=get_database_list
    状态码: 500


二、问题原因分析

1. 宝塔面板的Bug
   - 核心问题:宝塔面板在创建 PostgreSQL 数据库时,没有正确处理 PostgreSQL 的错误响应。
   - 错误流程:
       ① 用户输入数据库名 "joypal-prod"
       ② 宝塔发送创建请求给 PostgreSQL
       ③ PostgreSQL 因命名规则(不允许连字符)拒绝并返回错误
       ④ 宝塔面板未正确处理错误,仍然执行了后续操作:
          - 在 /www/server/panel/data/db/database.db 中插入记录
          - 在 /www/server/panel/plugin/pgsql_manager_dbuser_info.json 中追加记录
       ⑤ 实际 PostgreSQL 中数据库创建失败

2. PostgreSQL 命名规则(与 MySQL 对比)
   +------------------+----------------------+----------------------+
   | 特性             | PostgreSQL           | MySQL                |
   +------------------+----------------------+----------------------+
   | 允许的字符       | 字母、数字、下划线 _ | 字母、数字、下划线 _、连字符 - |
   | 正确示例         | joypal_prod ✅       | joypal-prod ✅       |
   | 错误示例         | joypal-prod ❌       | (通常都支持)       |
   +------------------+----------------------+----------------------+

3. 数据不一致导致的问题
   由于宝塔面板的 Bug,造成了数据不一致:
   - PostgreSQL 实际数据库:      ❌ 不存在(被拒绝创建)
   - 宝塔数据库记录(database.db): ✅ 存在(错误插入)
   - 宝塔用户信息文件(json):      ✅ 存在(错误追加)

   当 PostgreSQL 管理器读取用户信息文件时,由于文件格式问题(例如两行 JSON 对象连在一起缺少换行)或其他原因,导致解析失败,返回 500 错误。


三、解决方法

【步骤1】删除宝塔面板中的错误记录

   运行以下命令删除 database.db 中的错误记录(将 joypal-prod 替换为您的实际问题数据库名):
使用道具 举报 只看该作者 回复
发表于 昨天 14:19 | 显示全部楼层
您好,测试joypal-prod  可以添加,您的面板版本多少?

查看请求日志显示 500 错误:
    POST /plugin?action=a&name=pgsql_manager&s=get_database_list
    状态码: 500

把这里的错误信息发出来给我看下 创建pgsql数据库.png
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表