PostgreSQL 连接失败的原因有很多,下面按最常见 → 较少见的顺序帮你梳理,并给出排查方法。你可以对照看看是哪一种。
现象:
connection refused / could not connect to server
检查:
# Linux
systemctl status postgresql
# 启动
systemctl start postgresql
Windows:
postgresql-x64-xx 是否在运行包括:
5432示例正确连接:
psql -h 127.0.0.1 -p 5432 -U postgres -d postgres
现象:
no pg_hba.conf entry for host
解决: 编辑:
# Linux
/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 = '*'
port = 5432
改后重启服务。
检查端口:
telnet 192.168.1.100 5432
解决:
有时 localhost 解析成 ::1,但 PG 只监听 IPv4
解决:
127.0.0.1 代替 localhostSELECT usename FROM pg_user;
pg_hba.conf 中是 peer / ident 但你在远程连
应改为:
md5 或 scram-sha-256
| 原因 | 说明 |
|---|---|
| 最大连接数已满 | FATAL: too many connections |
| SSL 配置错误 | 客户端要求 SSL |
| Docker 网络问题 | 容器间未通 |
| 数据库崩溃 | 看日志 |
如果你愿意,可以把具体报错信息贴出来(比如 psql: 后面的内容),我可以直接帮你定位是哪一条原因。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。