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

PostgreSQL因SHA256认证无法连接 如何在连接串中使用MD5格式密码

PostgreSQL MD5认证连接配置错误解决方案

问题根因

你之前直接对密码单独生成MD5/SHA256哈希的方式不符合PostgreSQL的认证规则:PostgreSQL的MD5认证要求哈希值为明文密码和用户名拼接后的MD5结果加上固定md5前缀,而非单纯的密码哈希值。

解决方案

方案1:生成符合规则的哈希替换连接串密码

  • 标准PostgreSQL MD5密码哈希生成规则:md5 + MD5(明文密码 + 数据库用户名)的32位小写结果
  • 你的场景计算参数:
    • 明文密码:testpassword
    • 数据库用户名:postgres
    • 待哈希拼接字符串:testpasswordpostgres
  • 最终生成的合法密码值:md56b8fa0d2a4f18c70f4b350c7436e7d8a
  • 替换后的连接串:
"Server=localhost;Port=5432;Database=MAXxKYC;User Id=postgres;Password=md56b8fa0d2a4f18c70f4b350c7436e7d8a;"

注意:如果你使用的PostgreSQL驱动会自动处理密码加密逻辑,无需手动替换为哈希值,直接填写明文密码即可,驱动会自动完成符合规则的加密流程。

方案2:修改数据库端认证规则(无需修改连接串,操作更简单)

  1. 打开PostgreSQL安装目录下的pg_hba.conf配置文件
  2. 找到本地连接对应的规则行,默认配置通常为:
host    all             all             127.0.0.1/32            scram-sha-256
  1. 将末尾的scram-sha-256修改为md5或者password
  2. 重启PostgreSQL服务使配置生效
  3. 直接使用原有带明文密码的连接串即可正常连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:45:04