При настройке моей установки postgresql я определил, что пользователь, пытающийся войти в систему с паролем, не относящийся к соответствующему пользователю ОС, не проходит аутентификацию со следующим сообщением:
$ psql -d postgres confluence -W
psql: FATAL: Peer authentication failed for user "confluence"
Несколько быстрых поисков в Google подсказали мне обновить файл pg_hba.conf. Поскольку я работаю в CentOS 6.5 и использую postgresql 9.3, файл находился по адресу /var/lib/pgsql/data/pg_hba.conf
.
Первоначально файл содержал:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Содержимое файла теперь такое:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all confluence md5
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
(Я подозреваю, что md5 для всех из них немного избыточен, так как теоретически я сейчас имею дело только с подключениями к доменным сокетам, но я хотел бы охватить все свои базы.)
Я ожидал, что перезапуск postgresql поможет, поэтому я выполнил:
sudo /etc/init.d/postgresql-9.3 restart
Который сообщил успешно. К сожалению, поведение попыток входа не изменилось.
В последней попытке получить новую загрузку файла конфигурации я выполнил полную перезагрузку, но ничего не изменилось.
Кто-нибудь думает о том, чего здесь не хватает?
Редактировать:
В попытке убедиться, что файл вообще рассматривается, я изменил метод всех всех подключений на «доверие», и с перезапуском службы, как указано выше, я получаю следующее:
$ psql -d postgres confluence
psql: FATAL: Peer authentication failed for user "confluence"
Postgres
сервере точно есть пользователь с именем confluence? - person khampson   schedule 27.05.2014