在 Ubuntu 上 PgAdmin 连不上 PostgreSQL,通常是下面几类原因导致的。我按「最常见 → 少见」给你一个排查清单,你可以一条条对。
先确认数据库本身在跑:
sudo systemctl status postgresql
如果没启动:
sudo systemctl start postgresql
sudo systemctl enable postgresql
127.0.0.1 或 localhost5432postgres(默认)这是连不上但服务在跑的高频原因。
编辑配置:
sudo nano /etc/postgresql/*/main/pg_hba.conf
确保有类似:
# 本地
host all all 127.0.0.1/32 md5
# 远程(示例)
host all all 0.0.0.0/0 md5
改完重启:
sudo systemctl restart postgresql
检查监听地址:
sudo nano /etc/postgresql/*/main/postgresql.conf
确认:
listen_addresses = 'localhost' # 本地
# 或
listen_addresses = '*' # 远程
重启 PostgreSQL。
PgAdmin 连的是 数据库用户密码,不是 Ubuntu 密码。
重置 postgres 密码:
sudo -u postgres psql
ALTER USER postgres PASSWORD '新密码';
sudo /usr/pgadmin4/bin/setup-web.sh
sudo ufw allow 5432
云服务器还要在控制台放行。
sudo systemctl status postgresql
ss -tnlp | grep 5432
psql -U postgres -h 127.0.0.1 -c '\l'
我可以直接帮你定位到那一行配置。