PostgreSQL 连接失败的原因有很多,下面按最常见 → 较少见的顺序给你梳理,并给出排查方法。你可以对照看看是哪一种。
PostgreSQL 根本没运行。
检查:
# Linux
systemctl status postgresql
# 启动
systemctl start postgresql
Windows:
postgresql-x64-xx 是否运行以下任意一项错误都会导致失败:
5432)示例:
host=localhost
port=5432
user=postgres
dbname=test
PostgreSQL 通过 pg_hba.conf 控制“谁能连”。
典型错误:
FATAL: no pg_hba.conf entry for host
解决:
编辑 pg_hba.conf(位置通常在):
/var/lib/postgresql/data/pg_hba.conf
示例(允许本地或指定 IP):
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
修改后重启:
systemctl restart postgresql
默认只监听本地。
检查:
listen_addresses = 'localhost'
改为:
listen_addresses = '*'
iptables / firewalld检查端口:
telnet ip 5432
SELECT usename, valuntil FROM pg_user;
或:
ALTER USER your_user LOGIN;
pg_hba.conf 中:
md5 → 需要密码trust → 不需要密码老客户端连新服务器可能失败。
错误如:
SSL connection required
可在连接串中加:
sslmode=disable
你可以按顺序试:
如果你愿意,可以把具体报错信息贴出来(哪怕一小段),我可以直接帮你定位是哪一条原因。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。