温馨提示×

怎么解决CentOS PgAdmin报错

小樊
47
2026-07-20 19:55:25
栏目: 智能运维

解决 CentOS 上 PgAdmin 报错,需要先定位具体错误。下面我按「常见报错场景 → 排查步骤 → 解决方案」给你一个通用排查指南,你可以对照使用;如果还不行,把具体报错内容贴出来我可以精准帮你分析。


一、先确认环境

请先确认以下信息(很重要):

  • CentOS 版本(7 / 8 / Stream)
  • PostgreSQL 版本
  • PgAdmin 版本(pgadmin4 / pgadmin3 / 通过 yum / pip / docker 安装)
  • 报错发生在:
    • 访问 Web 页面时
    • 启动 pgadmin 服务时
    • 连接数据库时

二、最常见报错 & 解决方案

1️⃣ PgAdmin 无法启动 / 页面打不开

现象

  • 浏览器访问 http://IP:505080 无响应
  • pgadmin4.service 启动失败

排查

systemctl status pgadmin4
journalctl -xe

常见原因 & 解决

Python 版本不兼容(CentOS 7 常见)

  • PgAdmin4 新版本需要 Python ≥ 3.7
  • CentOS 7 默认 Python 2.7

✅ 解决方案:

yum install python3 -y
python3 -m pip install --upgrade pip

端口被占用

ss -lntp | grep 5050

修改配置:

vim /etc/pgadmin4/config_local.py
DEFAULT_SERVER_PORT = 5051

2️⃣ 403 Forbidden / 权限错误

报错

403 Forbidden
You don't have permission to access this resource.

✅ 原因:SELinux 或目录权限问题

✅ 解决方案:

setenforce 0

永久关闭(可选):

vim /etc/selinux/config
SELINUX=disabled

或放行 httpd:

setsebool -P httpd_can_network_connect 1

3️⃣ PgAdmin 无法连接 PostgreSQL

常见报错

  • Unable to connect to server
  • password authentication failed
  • could not connect to server: Connection refused

✅ 检查清单:

① PostgreSQL 是否监听正确地址

vim /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'

② 是否允许远程连接

vim /var/lib/pgsql/data/pg_hba.conf

添加:

host  all  all  0.0.0.0/0  md5

重启 PostgreSQL:

systemctl restart postgresql

③ 防火墙

firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --reload

4️⃣ PgAdmin4 报 Python 模块错误

报错示例

ModuleNotFoundError: No module named 'flask'

✅ 解决:

python3 -m pip install flask
python3 -m pip install -r /usr/lib/python3*/site-packages/pgadmin4/requirements.txt

5️⃣ CentOS 8 / Stream 安装失败

CentOS 8 已 EOL,常见问题是 仓库失效

✅ 临时解决:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

三、推荐安装方式(省坑)

✅ 最稳方案(Docker)

docker run -p 5050:80 \
  -e PGADMIN_DEFAULT_EMAIL=admin@local \
  -e PGADMIN_DEFAULT_PASSWORD=123456 \
  -d dpage/pgadmin4

四、我需要你提供一个信息(关键)

请直接贴出以下之一:

  • 完整报错截图 / 日志
  • systemctl status pgadmin4 输出
  • ❌ 浏览器报错内容
  • ❌ PostgreSQL 日志 /var/lib/pgsql/log/

我可以直接给你一条可执行的解决方案

0