Невозможно подключиться к базе данных из сценария python и командной строки, но можно подключиться с помощью PGadmin - FATAL: идентификация аутентификации не удалась для пользователя «postgres» - PullRequest
0 голосов
/ 07 августа 2020

Я знаю, что подобные вопросы задавали около 2000 раз, но ни один из ответов, которые я нашел до сих пор, мне не помог.

Так что я могу подключиться к моей БД через PGAdmin через S SH туннель, и я также могу использовать su - postgres psql, но когда я делаю su - postgres, а затем что-то вроде psql -U postgres -h localhost, я получаю сообщение об ошибке FATAL: Ident authentication failed for user "postgres".

То же самое происходит, когда я пытаюсь подключиться к базе данных с мой python скрипт.

Конечно, я пробовал отредактировать свой pg_hba.conf файл множеством способов, установив все значения trust, password или md5. Каждый раз говорил одно и то же.

Сейчас мой pg_hba.conf выглядит так:

local all all md5

host all all 127.0.0.1/32 md5

host all all ::1/128 md5

И да, я перезагружал сервер между изменениями. Я не знаю, в чем может быть проблема, любая помощь будет очень признательна!

1 Ответ

0 голосов
/ 07 августа 2020

Хорошо, мне наконец удалось решить эту проблему!

Сообщение об ошибке здесь полностью вводит в заблуждение. Проблема заключалась в том, что "localhost" не был разрешен до 127.0.0.1, потому что в файле / etc / hosts было две строки, определяющие localhost:

127.0.0.1 localhost.localdomain localhost localhost4.localdomain4 localhost4

и

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

Использование 127.0.0.1 или оставление только ::1 localhost6 localhost6.localdomain6 решило проблему.

Надеюсь, это поможет кому-то в будущем :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...