pgsql может подключиться, pgadmin не может

pgsql может подключиться, pgadmin не может

Нам нужна только 1 роль, владеющая 1 базой данных, Domain-unix Socket, без пароля

postgres@luciol-essai:~$ more /etc/postgresql/8.4/main/pg_hba.conf | grep jppstphp
local   essais_php  jppstphp                       trust
postgres@luciol-essai:~$ 

Успех с psql:

envol@luciol-essai:~$ psql -U jppstphp essais_php
psql (8.4.15)
essais_php=> 

Ошибка с pgadmin3:

Это ошибка.

Error connecting to the server: FATAL:  authentification Ident ?chou?e pour l'utilisateur << jppstphp >>

решение1

Похоже, что PgAdmin-III получает указание подключиться к localhostили 127.0.0.1, поэтому он использует TCP/IP, тогда как psql не получает спецификацию хоста, поэтому он использует сокеты UNIX ( local).

Оставьте поле имени хоста в pgadmin3 пустым или добавьте другую pg_hba.confзапись для host essais_php jppstphp 127.0.0.1/32 trust.

решение2

Вам следует проверить весь pg_hba.confфайл, порядок директив важен. Я полагаю, вы сохранили в нем строку по умолчанию:

local   all         all                               ident

Если эта строка присутствует перед вашей конкретной строкой about jppstphp, сервер postgresql сначала попытается идентифицировать вас по вашему имени пользователя UNIX, которое, похоже, envol. Это не удастся, поскольку вы пытаетесь подключиться как postgres user/role jppstphp.

Если мое предположение верно, то удаление вышеуказанной строки (и, возможно, аналогичной записи с md5аутентификацией по паролю) или размещение вашей jppstphpстроки перед ней должно позволить вам подключиться через локальный сокет.

Для подключения через локальный сокет достаточно оставить поле хоста пустым, как вы это сделали.

решение3

Была та же проблема с psql через командную строку, подключающимся и pgAdmin не подключающимся к RDS с AWS. Я установил свой RDS как Publicly Accessible. Я убедился, что мой ACL и группы безопасности широко открыты, но проблема все еще осталась, поэтому я сделал следующее: sudo find . -name *.conf затем sudo nano ./data/pg_hba.conf добавил в начало директив в файле pg_hba.conf host all all 0.0.0.0/0 md5 , и pgAdmin автоматически вошел в систему.

Кстати, мой RDS был в моем VPC по умолчанию. У меня был идентичный экземпляр RDS в моем VPC не по умолчанию с идентичными группами безопасности, ACL и настройками групп безопасности моего VPC по умолчанию, и я не мог заставить его работать. Не уверен, почему, но это для другого дня.

Связанный контент