Я установил postgres
с участием Django
следуя этому руководству
Здесь я создал базу данных и пользователя в postgres
командная строка :
CREATE DATABASE myProject;
CREATE USER myUser WITH PASSWORD '1234';
Когда я пытаюсь подключиться к этой базе данных, либо через Django
или напрямую через pscopg2
Я получаю неправильный пароль.
#connect through python
import psycopg2
psycopg2.connect("dbname=myProject user=myUser host=localhost password=1234 port=5432")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/data/project/venv/lib/python3.6/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: password authentication failed for user "myUser"
FATAL: password authentication failed for user "myUser"
В этом вопросе я заменил свои настоящие имена проектов, имя пользователя и пароль. Но я дважды, трижды проверил, и все имена / пароли, которые я записываю, верны.
Как я получаю запрос неверного пароля? Как я могу это исправить?
РЕДАКТИРОВАТЬ: Содержимое моего pg_hba.conf
файл:
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
Для всех, кто найдет этот вопрос, следует отметить, что, по-видимому, имя базы данных и имя пользователя всегда в нижнем регистре, даже если вы создаете их заглавными буквами.
Таким образом, создание базы данных и пользователя следующим образом:
CREATE DATABASE myProject;
CREATE USER myUser WITH PASSWORD '1234';
Означает то же самое, что и это:
CREATE DATABASE myproject;
CREATE USER myuser WITH PASSWORD '1234';