pg_connect (): невозможно подключиться к серверу PostgreSQL

4

Я прочитал несколько статей с подробным описанием этого исправления для этой точной проблемы. Я пробовал всевозможные варианты редактирования файла pg_hba.conf, но мне не повезло, что я все еще получаю следующую ошибку в своем журнале Apache, когда пытаюсь запустить программу php, которую я пытаюсь использовать.

Thu Mar 28 08:20:21 2013] [error] [client 172.16.1.64] PHP Warning: pg_connect(): >Unable to connect to PostgreSQL server: FATAL: Peer authentication failed for user

Это мой текущий файл pg_hba.conf:

Я не знаю, что еще попробовать, любая помощь очень ценится!

Спасибо!

    
задан Mysteri0n 28.03.2013 в 13:48
источник

1 ответ

1

Рассмотрим первое правило в pg_hba.conf :

local all all peer

Это означает, что для всех локальных подключений пользователь Unix должен быть таким же, как и пользователь db. Очевидно, что это не относится к вашему php-коду, поэтому сбой Ошибка одноранговой сети для пользователя ... .

Второе правило позволит вашему скрипту подключиться, но оно игнорируется, поскольку первое правило имеет приоритет:

local all all trust

Это правило означает, что все локальные подключения разрешены без использования пароля и без проверки подлинности.

Если с вами все в порядке, просто удалите первое правило и перезагрузите службу postgresql, чтобы изменения вступили в силу.

Другие правила не должны иметь отношения к проблеме, поскольку они связаны с TCP-соединениями, и в соответствии с сообщением об ошибке это не тот метод, который используется вашим скриптом, он пытается подключиться через стандартный доменный разъем Unix.

    
ответ дан Daniel Vérité 28.03.2013 в 22:14
источник