You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS RDS PostgreSQL连接报错:无pg_hba.conf条目及密码验证失败

解决AWS RDS PostgreSQL连接异常的实操步骤

错误核心指向

你遇到的两个报错对应两个关键问题:

  1. postgres用户密码认证失败
  2. 客户端未使用加密连接,而RDS实例的安全策略拒绝无加密请求

排查与修复动作

1. 修正连接字符串格式错误

你的连接字符串中<password>:@存在多余的@符号,这会导致密码解析异常,直接引发认证失败。正确格式如下:

engine_sync = create_engine(
    "postgresql://<user>:<password>@database-2.<xxx>.eu-west-1.rds.amazonaws.com/postgres"
)

2. 强制启用SSL连接

报错提示no pg_hba.conf entry... no encryption,说明RDS实例要求加密连接,而你的客户端未开启SSL。修改连接字符串添加SSL参数:

engine_sync = create_engine(
    "postgresql://<user>:<password>@database-2.<xxx>.eu-west-1.rds.amazonaws.com/postgres?sslmode=require"
)

同时可登录AWS控制台,检查RDS实例的rds.force_ssl参数是否设为1(强制SSL),该参数开启时必须使用加密连接。

3. 验证用户密码有效性

即使未主动修改密码,也可能出现以下情况:

  • 密码过期:通过RDS控制台的「查询编辑器」尝试用postgres用户登录,确认密码是否可用
  • 权限变更:检查postgres用户是否被限制了从当前IP的连接权限,或认证方式被修改

4. 检查安全组与IP规则

确认你的公网IP(报错中的<my ip>)在RDS实例的安全组入站规则中,允许5432端口访问。动态公网IP可能会自动变更,导致原有规则失效。

5. 确认RDS实例状态

登录AWS控制台查看eu-west-1区域的RDS实例,是否存在重启、故障恢复或AWS后台维护记录,这类操作可能导致临时配置变动。

内容的提问来源于stack exchange,提问作者Rony Tesler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:29:56