Проблема с pg_connect на локальном хосте - PullRequest
1 голос
/ 31 августа 2010

У меня есть сервер с postgresql, установленный на пользователя postgres. Когда я делаю:

su - postgres
[entering the password]
psql

Затем я могу выполнять запросы к базе данных, которая отлично работает.

Тем не менее, из моего php-скрипта (запущенного от моей учетной записи):

$dbconnection = pg_connect("host=localhost port=5432 user=postgres password=XXXXXXX ");

(пароль вычеркнут из списка)

Затем я получаю сообщение:

Предупреждение PHP: pg_connect (): невозможно подключиться к серверу PostgreSQL: FATAL: не удалось выполнить аутентификацию по паролю для пользователя "postgres" FATAL: аутентификация по паролю не удалась для пользователя "postgres" в /home/username/script.php в строке 18

Я перепробовал множество вариантов строки входа в систему, но получаю одно и то же сообщение. Любые идеи, как я мог бы попытаться решить эту проблему?

Ответы [ 3 ]

1 голос
/ 31 августа 2010

Ваш postgres может прослушивать не сетевой интерфейс, а вместо сокета файловой системы.Что если вы оставите host = / port = полностью?

Кроме того, если вы знаете путь к сокету (и он не является значением по умолчанию), вы можете использовать его в качестве аргумента host =

0 голосов
/ 24 октября 2016

Будьте внимательны, следующая (слишком короткая) строка соединения вызывает упомянутое сообщение об ошибке («Предупреждение: pg_connect (): невозможно подключиться к серверу PostgreSQL: FATAL: Ошибка аутентификации равноправного узла для пользователя« halmai »в ...»):

pg_connect("dbname=halmai user=halmai password=halmai");

Однако более полная строка соединения работает хорошо:

pg_connect("host=localhost dbname=halmai user=halmai password=halmai");

Моя среда: php7.0.8.

0 голосов
/ 31 августа 2010

Какая текущая конфигурация для pg_hba.conf?А вы установили пароль для базы данных ролла "postgres"?su - postgres предназначен для пользователя Linux "postgres", а не для роли базы данных "postgres".Если вы можете запустить psql без ввода пароля, похоже, что pg_hba.conf использует «trust», а не «password», даже лучше «md5».Или вы создали файл .pgpass?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...