1

У меня есть странная проблема. У меня есть служба, использующая PostgreSQL 8.3. На параллельной платформе я установил PostgreSQL 9.1 и попытаюсь подключиться к ней, используя мой рабочий скрипт php. Получил ответ:«нет записи pg_hba.conf для хоста», но «LOG: подключение разрешено»

pg_connect(): Unable to connect to PostgreSQL server: 
FATAL: no pg_hba.conf entry for host "X.X.X.X", 
user "postgres", database "dbtrsy", SSL off 

Мой pg_hba.conf содержит:

host all   all   X.X.X.X/32  password 
host all   all   Y.Y.Y.Y/32  password 

можно легко подключить к БД с помощью PgAdmin из Y.Y.Y.Y. Теперь странно вещь: я смотрю на журнал, и я вижу:

LOG: connection received: host=X.X.X.X port=55696 
LOG: connection authorized: user=postgres database=dbtrsy 
LOG: disconnection: session time: 0:00:00.017 user=postgres database=dbtrsy host=X.X.X.X port=55696 

Любой ключ, почему я был отключен автоматически после того, как уполномоченный правильно? Когда я пытаюсь входить в систему с помощью другого пароля/имени пользователя, он бросает ошибку «аутентификация с паролем», которая верна.

Любая идея? Благодаря!

+1

Просто предположение: несовместимая клиентская библиотека? – Marek

+0

Хммм ... может быть, но я действительно не верю в это, потому что я использую стандартную библиотеку php. Информация из phpinfo: PostgreSQL (libpq) Версия \t 9.1.9 PostgreSQL (libpq) \t PostgreSQL 9.1.9 на x86_64-RedHat-Linux-гну, составленный GCC (GCC) 4.7.2 20120921 (Red Hat 4.7.2 -2), 64-битный – user1414355

ответ

0

Если бы я должен был догадаться, я бы предположил, что что-то вызывает неправильное чтение pg_hba.conf, возможно, выставляя какую-то ошибку в базовой системе или, возможно, с другой проблемой, не связанной с ошибкой.

Моя рекомендация по проблеме такого рода заключается в том, чтобы занять ее в списках электронной почты PostgreSQL и быть готовой показать всю вашу конфигурацию. Вы также можете попробовать прокомментировать строки в pg_hba.conf, пока не найдете проблему. Если ваша конфигурация достаточно чувствительна, вы можете запустить другой сервер с той же конфигурацией, но с разными IP-адресами на клиенте, чтобы создать автономный тестовый пример.

Смежные вопросы