%3A%20%D0%9D%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C%D1%81%D1%8F%20%D0%BA%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83%20PostgreSQL.png)
Я прочитал несколько статей, подробно описывающих это исправление для этой конкретной проблемы. Я перепробовал все виды вариаций редактирования файла pg_hba.conf, но безуспешно. Я все еще получаю следующую ошибку в своем журнале Apache, когда пытаюсь запустить программу php, которую пытаюсь использовать.
Чт Мар 28 08:20:21 2013] [ошибка] [клиент 172.16.1.64] PHP Предупреждение: pg_connect(): >Невозможно подключиться к серверу PostgreSQL: FATAL: Ошибка аутентификации пользователя
Вот мой текущий файл pg_hba.conf:
Я не знаю, что еще попробовать, любая помощь будет высоко оценена!
Спасибо!
решение1
Рассмотрим первое правило pg_hba.conf
:
локальный все все одноранговый
Это означает, что для всех локальных подключений пользователь Unix должен быть таким же, как пользователь базы данных. Очевидно, что это не относится к вашему коду php, отсюда и сбойОшибка аутентификации однорангового узла для пользователя....
Второе правило позволит вашему скрипту подключиться, но оно игнорируется, поскольку первое правило имеет приоритет:
местный все все доверие
Это правило означает, что все локальные соединения разрешены без запроса пароля и без проверки личности.
Если вас это устраивает, просто удалите первое правило и перезагрузите службу postgresql, чтобы изменения вступили в силу.
Другие правила не должны иметь отношения к проблеме, поскольку они связаны с TCP-соединениями, и, согласно сообщению об ошибке, это не тот метод, который используется вашим скриптом, он пытается подключиться через сокет домена Unix по умолчанию.