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

Npgsql 4.1.12通过pgBouncer连接Azure数据库时SSL Mode=Require报错

解决Npgsql 4.1.12连接Azure pgBouncer时的ssl_renegotiation_limit错误

问题根源

Npgsql 4.x版本在建立SSL连接时,会默认向服务端发送ssl_renegotiation_limit启动参数,但Azure托管的pgBouncer代理不支持该参数,因此触发08P01: unsupported startup parameter: ssl_renegotiation_limit错误。而Npgsql 8.0已移除该参数的自动发送逻辑,所以新版本无此问题。

无需升级Npgsql的解决方法

受限于框架无法升级Npgsql,可通过以下两种方式解决:

1. 修改连接字符串添加禁用参数

在原有连接字符串中加入Ssl Renegotiation Limit=0,强制Npgsql不发送该不被支持的参数:

Server=xxxxx.postgres.database.azure.com;Port=6432;User Id=user;Password=password;Database=test;CommandTimeout=120;Pooling=False;SSL Mode=Require;Ssl Renegotiation Limit=0;

2. 代码中手动设置连接属性

若不方便修改连接字符串,可在创建NpgsqlConnection实例后,手动将SslRenegotiationLimit设为0:

using (var conn = new NpgsqlConnection("你的原有连接字符串"))
{
    conn.SslRenegotiationLimit = 0;
    conn.Open();
    // 执行数据库操作
}

验证要点

  • 确保连接端口已改为pgBouncer的6432
  • 保留SSL Mode=Require参数,Azure PostgreSQL仍强制要求SSL连接
  • 测试连接确认错误不再出现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:44:59