【发布时间】: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