温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

postgresql为何连接失败

发布时间:2026-09-07 03:30:41 来源:亿速云 阅读:120 作者:小樊 栏目:数据库

PostgreSQL 连接失败的原因有很多,下面按最常见 → 较少见的顺序帮你梳理,并给出排查方法。你可以对照看看是哪一种。


一、最常见原因

1️⃣ PostgreSQL 服务没启动

现象:
connection refused / could not connect to server

检查:

# Linux
systemctl status postgresql

# 启动
systemctl start postgresql

Windows:

  • 服务里看 postgresql-x64-xx 是否在运行

2️⃣ 连接信息错误(最常见)

包括:

  • IP / 主机名错误
  • 端口不是 5432
  • 用户名或密码错误
  • 数据库名不存在

示例正确连接:

psql -h 127.0.0.1 -p 5432 -U postgres -d postgres

3️⃣ pg_hba.conf 禁止连接(权限控制)

现象:
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

4️⃣ postgresql.conf 未监听外部 IP

现象:
只能本地连,远程连不上

检查:

listen_addresses = '*'
port = 5432

改后重启服务。


二、网络 / 防火墙问题

5️⃣ 防火墙或安全组拦截

检查端口:

telnet 192.168.1.100 5432

解决:


6️⃣ 使用了 localhost 但走 IPv6

有时 localhost 解析成 ::1,但 PG 只监听 IPv4

解决:

  • 用 127.0.0.1 代替 localhost

三、用户 / 权限问题

7️⃣ 用户不存在或被禁用

SELECT usename FROM pg_user;

8️⃣ 密码认证方式不对

pg_hba.conf 中是 peer / ident 但你在远程连

应改为:

md5 或 scram-sha-256

四、其他少见原因

原因 说明
最大连接数已满 FATAL: too many connections
SSL 配置错误 客户端要求 SSL
Docker 网络问题 容器间未通
数据库崩溃 看日志

五、快速自查清单 ✅

  1. 服务是否启动?
  2. IP / 端口 / 用户 / 密码正确?
  3. pg_hba.conf 是否允许?
  4. listen_addresses 是否配置?
  5. 防火墙是否放行 5432?
  6. 错误日志说什么?

如果你愿意,可以把具体报错信息贴出来(比如 psql: 后面的内容),我可以直接帮你定位是哪一条原因。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手