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

使用PGAdmin可连远程PostgreSQL,但C# Npgsql连接失败求助

解决Npgsql连接PostgreSQL时的pg_hba.conf无条目错误(PGAdmin可正常连接)

核心原因

PGAdmin默认启用SSL加密连接,而你当前的Npgsql连接字符串未开启SSL,PostgreSQL服务器的pg_hba.conf中仅配置了允许加密连接的规则,因此拒绝了无加密的连接请求。

解决方案

方案1:在Npgsql连接字符串中启用SSL

修改连接字符串,添加SSL模式参数,示例:

"Host=XXX;Port=5432;Username=XX;Password=XX;Database=XX;Ssl Mode=Require"

常用SSL模式说明:

  • Require:强制使用SSL连接,无SSL则连接失败
  • Prefer:优先尝试SSL连接,失败则降级为非SSL(需服务器允许)
  • VerifyFull:加密连接的同时验证服务器证书有效性

方案2:调整服务器pg_hba.conf规则(无需SSL)

联系服务器管理员,在pg_hba.conf中添加允许非加密连接的规则,格式如下:

host    目标数据库名    目标用户名    你的客户端IP/32    scram-sha-256

替换占位符为实际信息后,重启PostgreSQL服务使配置生效。

验证

  1. 采用方案1时,修改连接字符串后重新执行connection.Open()测试
  2. 采用方案2时,确认管理员完成配置更新和服务重启后再测试连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:15:35