psycopg2.OperationalError: FATAL: password authentication failed for user "nouman"
psycopg2.OperationalError: FATAL: password authentication failed for user "nouman"
P.s。此问题已解决(我使用了错误的端口号)
我正在尝试在 WINDOWS OS 上使用 django 2.2 配置 Postgresql,但最终出现错误。这是我为我的项目配置 postgres 所做的:
- 使用所有默认配置安装了最新版本的 postgresql 并提供了我的密码
- 在 SQL Shell (psql) 中创建数据库
创建用户 nouman;
创建数据库博客所有者 nouman;
- 然后我将数据库的 settings.py 文件更新为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'blog',
'USER': 'nouman',
'PASSWORD': 'my password',
'HOST': 'localhost',
'PORT': '',
}
}
- 我通过以下命令安装了 psycopg2:“pip install psycopg2”。
- 但是当我通过“python manage.py migrate”更新数据库时,出现了这个错误:
Traceback (most recent call last):
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
self.connect()
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
self.connection = self.get_new_connection(conn_params)
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\db\backends\postgresql\base.py", line 178, in get_new_connection
connection = Database.connect(**conn_params)
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\psycopg2\__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: password authentication failed for user "nouman"
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
-----------snip--------
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\psycopg2\__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: password authentication failed for user "nouman"
您需要使用命令
创建数据库用户
CREATE ROLE username WITH LOGIN PASSWORD 'quoted password';
CREATE DATABASE databasename;
GRANT ALL PRIVILEGES ON DATABASE databasename TO username;
阅读here
默认的 PostgresSQL 安装始终包括 postgres 超级用户。最初,您必须以 postgres 用户身份连接到 PostgreSQL,直到您创建其他用户(也称为角色)。
要创建 PostgreSQL 用户,请按照下列步骤操作:
在命令行中,以服务器的根目录键入以下命令
用户:
su - postgres
您现在可以 运行 命令作为 PostgreSQL
超级用户。要创建用户,请键入以下命令:
createuser --interactive --pwprompt
按照命令行上的说明进行操作。 PostgreSQL 使用您指定的设置创建用户。
P.s。此问题已解决(我使用了错误的端口号)
我正在尝试在 WINDOWS OS 上使用 django 2.2 配置 Postgresql,但最终出现错误。这是我为我的项目配置 postgres 所做的:
- 使用所有默认配置安装了最新版本的 postgresql 并提供了我的密码
- 在 SQL Shell (psql) 中创建数据库
创建用户 nouman;
创建数据库博客所有者 nouman;
- 然后我将数据库的 settings.py 文件更新为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'blog',
'USER': 'nouman',
'PASSWORD': 'my password',
'HOST': 'localhost',
'PORT': '',
}
}
- 我通过以下命令安装了 psycopg2:“pip install psycopg2”。
- 但是当我通过“python manage.py migrate”更新数据库时,出现了这个错误:
Traceback (most recent call last):
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
self.connect()
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
self.connection = self.get_new_connection(conn_params)
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\db\backends\postgresql\base.py", line 178, in get_new_connection
connection = Database.connect(**conn_params)
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\psycopg2\__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: password authentication failed for user "nouman"
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
-----------snip--------
File "C:\Users\nouma\Desktop\djano2byexample\myenv\lib\site-packages\psycopg2\__init__.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: password authentication failed for user "nouman"
您需要使用命令
创建数据库用户CREATE ROLE username WITH LOGIN PASSWORD 'quoted password';
CREATE DATABASE databasename;
GRANT ALL PRIVILEGES ON DATABASE databasename TO username;
阅读here
默认的 PostgresSQL 安装始终包括 postgres 超级用户。最初,您必须以 postgres 用户身份连接到 PostgreSQL,直到您创建其他用户(也称为角色)。
要创建 PostgreSQL 用户,请按照下列步骤操作:
在命令行中,以服务器的根目录键入以下命令 用户:
su - postgres
您现在可以 运行 命令作为 PostgreSQL 超级用户。要创建用户,请键入以下命令:
createuser --interactive --pwprompt
按照命令行上的说明进行操作。 PostgreSQL 使用您指定的设置创建用户。