Azure PostgreSQL 2026年5月29日维护后PGBouncer无法连接求助
解决Azure PostgreSQL灵活服务器维护后PGBouncer无法连接的思路
1. 检查PGBouncer认证配置兼容性
维护可能更新了PostgreSQL的认证机制,需同步PGBouncer的配置:
- 查看
pgbouncer.ini中的auth_type参数,确保与PostgreSQL服务器的password_encryption配置匹配(可在psql中执行SHOW password_encryption;确认服务器加密方式)。 - 若服务器启用了
scram-sha-256,需将PGBouncer的auth_type设为对应值,同时更新userlist.txt中的凭证格式。
2. 验证用户凭证有效性
- 用PGBouncer配置的用户直接通过psql连接PostgreSQL服务器,确认密码未被重置或失效。
- 检查
userlist.txt中的凭证是否正确,尤其是加密格式需与当前服务器要求一致。
3. 排查维护带来的连接参数变更
- 确认服务器
listen_addresses仍允许PGBouncer节点访问,同一VNet下需检查是否有默认配置调整。 - 检查是否强制启用SSL,将PGBouncer的
ssl_mode设为require或verify-full(匹配服务器SSL要求)。
4. 分析日志定位具体错误
- 查看PGBouncer日志,提取连接失败的具体错误信息(如认证失败、连接拒绝)。
- 查看Azure PostgreSQL服务器日志,过滤PGBouncer节点IP的连接记录,定位是否有请求被拒绝的提示。
5. 重启PGBouncer服务
维护后服务器配置可能变更,PGBouncer需重新加载配置:
- 执行
pgbouncer -R /path/to/pgbouncer.ini平滑重启,或用systemctl restart pgbouncer(依系统环境)重启服务。
6. 确认VNet内部连通性
- 在PGBouncer节点执行
nc -zv <postgres-server-ip> <port>或telnet <postgres-server-ip> <port>,确认端口可达。 - 检查Azure默认NSG是否在维护中变更,即使未自定义NSG,也需确认是否有隐性的网络规则调整。
内容的提问来源于stack exchange,提问作者user32790823
相关产品推荐
相关产品推荐

