postgresql: идентификация аутентификации не удалась на fedora
Я знаю, что этот вопрос задавался несколько раз раньше, но все ответы, которые я мог найти, говорят вам добавить строку, подобную следующей к pg_hba.conf
файл:
host all all 127.0.0.1/32 md5
Так что мой pg_hba.conf
Теперь файл выглядит так:
# 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 ident
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
# I've added the following lines:
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 192.168.0.0/24 md5
В прошлом я установил несколько серверов postgresql на Ubuntu, и у меня никогда не было проблем. Тем не менее, на Fedora, я все еще получаю следующее сообщение об ошибке:
FATAL: Ident authentication failed for user "postgres"
Сервер работает на рабочей станции Fedora 27, а версия postgresql - 9.6.8-1.fc27.
1 ответ
У вас есть два правила аутентификации для localhost в вашем pg_hba.conf
а именно..
host all all 127.0.0.1/32 ident
а также
host all all 127.0.0.1/32 trust
Я считаю, что система пытается проверить два варианта аутентификации, делая trust
вариант перезаписывается ident
, Поскольку вы, скорее всего, пытаетесь использовать trust
для аутентификации с локального хоста (на основе вашего файла) просто закомментируйте / удалите следующую строку:
host all all 127.0.0.1/32 ident
А потом либо перезапустите базу данных, либо перезагрузите файл conf, используя следующий запрос:
SELECT pg_reload_conf();