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();
Другие вопросы по тегам