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

Django无法连接PostgreSQL数据库求助:端口5433连接被拒绝

问题:Django连接PostgreSQL时出现端口连接拒绝错误

我在尝试将Django服务器连接至PostgreSQL数据库时,遇到如下错误:

port 5433 failed: Connection refused Is the server running on that host and accepting TCP/IP connections?

环境信息

  • 操作系统:Windows 10 + Debian
  • 开发工具:PyCharm

Django数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'ps_store_db',
        'USER': 'zesshi',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '5433',
    }
}

已排查操作

  • 用DBeaver测试连接,结果正常
  • 已关闭防火墙
  • 已尝试将端口从默认的5432改为5433

解决方案建议
  • 检查PostgreSQL监听配置
    打开PostgreSQL的postgresql.conf文件,确认listen_addresses设置为'*'(允许所有IP访问)或包含Django运行环境的IP,同时确保port参数确实配置为5433。修改后重启PostgreSQL服务。

  • 修正主机地址指向
    如果Debian是虚拟机或WSL环境,Windows下的localhost不会指向Debian系统的PostgreSQL服务。将Django配置中的HOST改为Debian系统的实际IP地址(可通过Debian终端执行hostname -I获取)。

  • 验证数据库用户连接权限

    1. 登录PostgreSQL,执行命令授权用户访问目标数据库:
      GRANT ALL PRIVILEGES ON DATABASE ps_store_db TO zesshi;
      
    2. 打开pg_hba.conf文件,添加允许zesshi用户从Django所在IP连接的规则,例如:
      host    ps_store_db    zesshi    你的Windows主机IP/32    scram-sha-256
      

    修改完成后重启PostgreSQL服务。

  • 测试端口连通性
    在Windows终端执行telnet 你的DebianIP 5433,检查是否能正常连通。如果不通,需排查虚拟机/WSL的网络配置是否存在阻断。

  • 确认Django依赖包
    确保已安装适配PostgreSQL版本的psycopg2或psycopg2-binary包,可重新安装排除版本问题:

    pip install psycopg2-binary
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:31:41