【问题标题】:postgresql auth django (password authentication failed for user "BlogAdmin2")postgresql auth django(用户“BlogAdmin2”的密码认证失败)
【发布时间】:2019-08-10 09:22:33
【问题描述】:

我按照 Digital Ocean 发布的教程:https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04#create-and-configure-a-new-django-project(如何在 ubuntu 上使用 postgres nginx 和 gunicorn 设置 django) 我使用该网站创建了一个 git hub 私有仓库,当我使用以下命令创建了 postgresql 数据库时:

CREATE DATABASE PiaBlog;
CREATE USER BlogAdmin WITH PASSWORD 'Andrei1234';
ALTER ROLE BlogAdmin SET client_encoding TO 'utf8';
ALTER ROLE BlogAdmin SET default_transaction_isolation TO 'read committed';
ALTER ROLE BlogAdmin SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE PiaBlog TO BlogAdmin;
\q

这是我的 django 数据库配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'PiaBlog',
        'USER': 'BlogAdmin',
        'PASSWORD': 'Andrei1234,',
        'HOST': 'localhost',
        'PORT': '',
    }
}

当我运行 python manage.py migrate 时,我得到:

django.db.utils.OperationalError: FATAL:  password authentication failed for user "BlogAdmin2"
FATAL:  password authentication failed for user "BlogAdmin2"

有人知道我为什么会遇到这个问题吗?我花了一个小时寻找打字错误,但始终没有找到。

然后我创建了一个新用户,我遇到了这个错误:

django.db.utils.OperationalError: FATAL:  password authentication failed for user "blog_admin"
FATAL:  password authentication failed for user "blog_admin"

这就是我所做的:

CREATE DATABASE blogdb;
CREATE USER blog_admin WITH PASSWORD 'testing1234';
ALTER ROLE blog_admin SET client_encoding TO 'utf8';
ALTER ROLE blog_admin SET default_transaction_isolation TO 'read committed';
ALTER ROLE blog_admin SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE blogDB TO blog_admin;
\q

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'blogdb',
        'USER': 'blog_admin',
        'PASSWORD': 'testing123',
        'HOST': 'localhost',
        'PORT': '',
    }
}

【问题讨论】:

  • 嗯,您创建的用户是BlogAdmin,而您要连接的用户是BlogAdmin2
  • 实际上我为同一个数据库创建了 BlogAdmin 和 BlogAdmin2,使用相同的密码
  • 也许是'PASSWORD': 'Andrei1234,'中的错字?
  • 投反对票的原因:这是一个“非常草率、不费吹灰之力的帖子”。请更新以消除拼写错误。
  • 编辑的第二个案例与第一个案例有相同的问题(错字)。现在用户blog_admin 使用密码testing1234 创建,DATABASES 配置使用testing123

标签: python django postgresql


【解决方案1】:

这个逗号应该在您的密码中吗?

'PASSWORD': 'Andrei1234,',

【讨论】:

  • 是的,逗号应该在那里
  • 那么您需要解决您的问题:CREATE USER BlogAdmin WITH PASSWORD 'Andrei1234';。该密码中没有逗号。
猜你喜欢
  • 2015-12-16
  • 1970-01-01
  • 2018-04-21
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多