Azure PostgreSQL ODBC连接遇SSL SYSCALL错误(0x00002746/10054)求助
Azure PostgreSQL ODBC连接SSL错误解决办法
问题描述
创建Azure PostgreSQL的ODBC连接时,触发错误:SSL SYSCALL error: Connection reset by peer (0x00002746/10054),禁用Azure PostgreSQL的Enforce SSL Connection选项后可成功连接。
解决方案
1. 配置SSL证书验证
Azure PostgreSQL强制SSL连接时需要验证根证书,需完成以下操作:
- 获取Azure官方提供的PostgreSQL根证书,保存到本地路径
- 在ODBC数据源配置界面的SSL选项卡中,将SSL Mode设置为
require或verify-full,并在Root Certificate栏填写证书的本地路径
2. 更新ODBC驱动版本
使用旧版PostgreSQL ODBC驱动(psqlODBC)可能存在SSL兼容性问题,前往PostgreSQL官方下载并安装最新版本的驱动。
3. 排查网络与防火墙
- 确认本地网络允许访问Azure PostgreSQL的默认端口5432,无防火墙、代理拦截SSL流量
- 检查Azure PostgreSQL服务器的防火墙规则,确保本地IP地址已被添加到允许列表
4. 检查连接字符串参数(手动配置场景)
若手动编写ODBC连接字符串,需包含正确的SSL参数示例:
Driver={PostgreSQL Unicode};Server=你的服务器名.postgres.database.azure.com;Port=5432;Database=你的数据库名;Uid=你的用户名@你的服务器名;Pwd=你的密码;SSLmode=require;SslRootCert=/本地证书路径/BaltimoreCyberTrustRoot.crt.pem;
内容的提问来源于stack exchange,提问作者aruN
相关产品推荐
相关产品推荐

