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

Django 1.11连接PostgreSQL 9.5时ubuntu用户认证失败问题

解决Django连接PostgreSQL时"FATAL: password authentication failed for user 'ubuntu'"的问题

你的怀疑完全正确——Django确实在使用当前系统用户ubuntu尝试连接数据库,根源在于你的数据库配置里有一个容易忽略的小错误:

先看一下你的数据库配置代码:

DATABASES = { 
    'default': { 
        'ENGINE': 'django.db.backends.postgresql_psycopg2', 
        'NAME':'test_db', 
        'USERNAME':'rails', 
        'PASSWORD':'rails', 
        'HOST':'localhost', 
        'PORT':'5432', 
    } 
}

这里的问题是用户名字段的键名写错了:Django为PostgreSQL数据库配置规定的用户名字段键是USER,而非USERNAME。当Django找不到正确的USER配置项时,会默认使用当前运行Django进程的系统用户(也就是ubuntu)去发起数据库连接,这直接导致了你遇到的认证失败错误。

具体解决步骤:

  1. 修改数据库配置,把USERNAME替换为USER:
DATABASES = { 
    'default': { 
        'ENGINE': 'django.db.backends.postgresql_psycopg2', 
        'NAME':'test_db', 
        'USER':'rails',  # 修正为正确的键名
        'PASSWORD':'rails', 
        'HOST':'localhost', 
        'PORT':'5432', 
    } 
}
  1. 保存配置文件后,重启Django开发服务器:
python manage.py runserver

额外验证建议:

  • 确认PostgreSQL中确实存在rails这个数据库用户,且已设置密码rails
  • 可以用psql命令手动测试连接,验证数据库端配置是否正常:
psql -U rails -d test_db -h localhost -p 5432

输入密码rails后如果能成功登录,说明数据库侧配置没问题,只需确保Django配置正确即可。

内容的提问来源于stack exchange,提问作者Ankit Kumar Rathod

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:00:39