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

Azure Functions部署Python脚本连接PostgreSQL超时问题求助

排查Azure Functions连接PostgreSQL超时问题的步骤

1. 检查PostgreSQL服务器的网络访问控制

  • 若使用Azure托管的PostgreSQL,在防火墙设置中勾选允许Azure服务和资源访问此服务器;若为自建服务器,需将Azure Functions的出站IP添加到PostgreSQL的pg_hba.conf和服务器防火墙白名单。
  • 验证PostgreSQL的TCP/IP配置:登录服务器查看postgresql.conf,确认listen_addresses设为*,port配置为5432。

2. 确认Azure Functions的网络配置

  • 若Function App启用了VNet集成,需确保该VNet与PostgreSQL所在网络(VNet或公网)连通,比如配置VNet对等互联,或在PostgreSQL防火墙中允许VNet地址范围。
  • 在Azure门户的Function App「概述」页面获取所有出站IP,将这些IP全部添加到PostgreSQL的防火墙白名单。

3. 验证连接字符串正确性

  • 确保部署到Azure的连接字符串与本地测试一致,避免主机地址、端口、用户名、密码写错。建议将连接字符串存储在Function App的「配置->应用程序设置」中,通过os.environ.get("POSTGRES_CONNECTION_STRING")读取,避免硬编码错误。
  • 尝试用psql命令模拟Azure Functions的出站IP测试连接,确认网络层面是否通畅。

4. 检查PostgreSQL服务状态

  • 在服务器主机上执行systemctl status postgresql(Linux环境),确认服务正常运行。
  • 执行netstat -tulpn | grep 5432,检查5432端口是否处于监听状态。

5. 排查Azure Functions运行环境限制

  • 区分Function App的运行计划:消费计划出站IP动态,需依赖VNet集成或允许Azure服务访问;专用计划有固定出站IP,直接添加到防火墙即可。
  • 检查是否有网络安全组(NSG)限制了Function App的出站流量到5432端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:31:18