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

Windows11下Django项目连接PostgreSQL超时问题求助

Django连接远程PostgreSQL频繁出现Connection timed out问题排查方案

问题场景

Windows11系统下,VS Code中运行Django项目,执行python manage.py runserver时频繁抛出:

django.db.utils.OperationalError: connection to server at "13.234.81.119", port 5432 failed: Connection timed out (0x0000274C/10060)
Is the server running on that host and accepting TCP/IP connections?

偶尔重启服务器可临时恢复,但问题反复。已尝试删除临时文件、重装psycopg2 2.9.2、重置本地TCP/IP设置,无效。

排查方向与解决方案

1. 验证远程服务与网络连通性

  • 用PowerShell执行Test-NetConnection 13.234.81.119 -Port 5432,或CMD执行telnet 13.234.81.119 5432,连续测试5-10次,确认是否存在间歇性丢包、超时
  • 联系运维确认远程PostgreSQL服务器的负载情况,排查是否存在连接数耗尽、防火墙临时拦截、机房网络波动等问题

2. 优化Django数据库连接参数

在项目settings.py中调整数据库配置,添加连接活性与超时控制参数:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '你的数据库名',
        'USER': '你的数据库账号',
        'PASSWORD': '你的数据库密码',
        'HOST': '13.234.81.119',
        'PORT': '5432',
        # 新增连接优化参数
        'CONN_MAX_AGE': 60,  # 缩短连接复用时长,避免无效长连接
        'OPTIONS': {
            'connect_timeout': 10,  # 设置连接超时时间(秒)
            'keepalives': 1,
            'keepalives_idle': 30,
            'keepalives_interval': 10,
            'keepalives_count': 5,
        }
    }
}

这些参数可减少长连接失效导致的超时,同时在连接异常时快速重试。

3. 排查本地网络干扰

  • 关闭VPN、代理软件,或切换网络(WiFi换有线),验证是否是代理/路由导致的间歇性拦截
  • 临时关闭Windows防火墙,测试是否存在出站规则对Python进程的限制
  • 检查杀毒软件的网络防护功能,确认是否拦截了Python的网络请求

4. 升级psycopg2版本

2.9.2版本在部分Windows环境下可能存在网络连接bug,尝试升级到最新稳定版:

pip install --upgrade psycopg2-binary

(psycopg2-binary无需编译,更适配Windows环境)

5. 检查Django进程状态

  • 打开任务管理器,查看Python进程的CPU、内存占用,排查是否因资源泄漏导致进程异常
  • 出现问题时仅重启Django进程(而非服务器),验证问题是否出在进程本身

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:48:26