在 CentOS 上配置 PgAdmin(PgAdmin 4) 通常有两种常见方式:
下面我以 CentOS 7 / CentOS 8 为例,给你一份完整、可执行的配置流程(包含 PostgreSQL + PgAdmin + Apache/Nginx 访问)。
确保你已经安装并启动了 PostgreSQL:
# 查看是否安装
psql --version
# 如未安装
sudo yum install -y postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo yum install -y epel-release
sudo yum install -y python3 python3-pip python3-devel \
libpq-devel gcc make
sudo useradd -m pgadmin
sudo su - pgadmin
python3 -m venv pgadmin4
source pgadmin4/bin/activate
pip install --upgrade pip
pip install pgadmin4
创建配置文件:
mkdir -p ~/pgadmin4/config
cp pgadmin4/lib/python*/site-packages/pgadmin4/config.py ~/pgadmin4/config/
编辑配置:
vi ~/pgadmin4/config/config_local.py
写入:
import os
DATA_DIR = os.path.expanduser('~/.pgadmin')
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SERVER_MODE = True
DEFAULT_SERVER = '0.0.0.0'
DEFAULT_SERVER_PORT = 5050
python pgadmin4/lib/python*/site-packages/pgadmin4/setup.py
设置 管理员邮箱和密码。
python pgadmin4/lib/python*/site-packages/pgadmin4/pgAdmin4.py
访问:
http://<服务器IP>:5050
sudo vi /etc/systemd/system/pgadmin.service
内容:
[Unit]
Description=PgAdmin4
After=network.target
[Service]
User=pgadmin
WorkingDirectory=/home/pgadmin/pgadmin4
ExecStart=/home/pgadmin/pgadmin4/bin/python \
/home/pgadmin/pgadmin4/lib/python3.6/site-packages/pgadmin4/pgAdmin4.py
Restart=always
[Install]
WantedBy=multi-user.target
⚠️ 注意:Python 路径版本按实际情况修改
sudo systemctl daemon-reload
sudo systemctl start pgadmin
sudo systemctl enable pgadmin
sudo yum install -y httpd
<VirtualHost *:80>
ServerName pgadmin.example.com
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5050/
ProxyPassReverse / http://127.0.0.1:5050/
</VirtualHost>
sudo systemctl start httpd
sudo firewall-cmd --add-port=5050/tcp --permanent
sudo firewall-cmd --reload
SERVER_MODE = Truepg_hba.conf)编辑:
sudo vi /var/lib/pgsql/data/pg_hba.conf
添加:
host all all 0.0.0.0/0 md5
编辑:
sudo vi /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'
重启 PostgreSQL:
sudo systemctl restart postgresql
✅ 推荐方案:
PgAdmin 4 + Python 虚拟环境 + systemd + Apache/Nginx
如果你愿意,我可以:
你现在是 CentOS 几? 是否已安装 PostgreSQL?