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

Cloud Run部署的FastAPI连接Cloud SQL PostgreSQL报Connection refused错误

问题解决方案

你遇到的ConnectionRefusedError错误不是databases包异步特性本身的缺陷,核心是异步驱动和同步驱动的Unix域套接字配置规则不一致导致的:
databases的PostgreSQL异步连接默认依赖asyncpg驱动,该驱动的参数规则和你同步场景使用的psycopg2、pg8000不同,之前适配同步驱动的连接字符串无法被asyncpg识别,导致驱动默认尝试连接本地TCP 5432端口,最终抛出连接拒绝错误。

解决步骤

  1. 先确认项目依赖中已经安装asyncpg,可在requirements.txt中添加如下内容:
asyncpg>=0.27.0

databases默认不会自带异步PostgreSQL驱动,需要单独安装。
2. 替换异步连接的连接字符串为适配asyncpg的格式,无需使用unix_sock参数,直接通过host参数传入Cloud SQL的Unix套接字路径即可,格式如下:

postgresql+asyncpg://<数据库用户名>:<数据库密码>@/<数据库名称>?host=/cloudsql/<GCP项目ID>:<实例所属区域>:<Cloud SQL实例名>

参考示例:

postgresql+asyncpg://dev_user:dev_pass@/order_db?host=/cloudsql/my-gcp-proj:us-east1:my-postgres

验证方法

本地启动Cloud SQL Auth Proxy并监听Unix域套接字,用上述格式的连接字符串测试异步连接,本地可连通的情况下部署到Cloud Run即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:24:03