温馨提示×

温馨提示×

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

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

postgresql为什么连接失败

发布时间:2026-10-18 07:59:11 来源:亿速云 阅读:90 作者:小樊 栏目:数据库

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


一、最常见原因

1️⃣ 服务没启动

PostgreSQL 根本没运行。

检查:

# Linux
systemctl status postgresql

# 启动
systemctl start postgresql

Windows:

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

2️⃣ 连接信息写错

以下任意一项错误都会导致失败:

  • 主机(host)
  • 端口(默认 5432)
  • 用户名
  • 密码
  • 数据库名

示例:

host=localhost
port=5432
user=postgres
dbname=test

3️⃣ pg_hba.conf 不允许连接(非常常见)

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

4️⃣ postgresql.conf 没监听正确地址

默认只监听本地。

检查:

listen_addresses = 'localhost'

改为:

listen_addresses = '*'

二、网络 / 权限问题

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

  • Linux:iptables / firewalld
  • 云服务器:安全组未放行 5432

检查端口:

telnet ip 5432

6️⃣ 用户没有登录权限

SELECT usename, valuntil FROM pg_user;

或:

ALTER USER your_user LOGIN;

三、认证方式问题

7️⃣ 密码错误 / 认证方式不匹配

pg_hba.conf 中:

  • md5 → 需要密码
  • trust → 不需要密码

四、客户端相关问题

8️⃣ 客户端版本不兼容

老客户端连新服务器可能失败。


9️⃣ SSL 配置问题

错误如:

SSL connection required

可在连接串中加:

sslmode=disable

五、快速排查清单 ✅

你可以按顺序试:

  1. 服务是否启动?
  2. 端口能否 telnet 通?
  3. 用户名密码对不对?
  4. pg_hba.conf 是否允许?
  5. listen_addresses 是否配置?
  6. 防火墙 / 安全组是否放行?

如果你愿意,可以把具体报错信息贴出来(哪怕一小段),我可以直接帮你定位是哪一条原因。

向AI问一下细节

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

AI
助
手