pgsql은 연결할 수 있지만 pgadmin은 연결할 수 없습니다

pgsql은 연결할 수 있지만 pgadmin은 연결할 수 없습니다

우리는 1개의 데이터베이스, Domain-unix 소켓을 소유하고 비밀번호가 없는 1개의 역할만 원합니다.

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

localhostPgAdmin-III에는 또는 에 연결하라는 지시가 전달 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 줄 앞에 있는 경우 jppstphppostgresql 서버는 먼저 UNIX 사용자 이름에서 사용자를 식별하려고 시도합니다 envol. postgres user/role 로 연결을 시도하기 때문에 실패합니다 jppstphp.

내 가정이 맞다면 위의 줄(및 md5비밀번호 인증과 유사한 항목) 을 제거하거나 jppstphp로컬 소켓을 통해 연결할 수 있도록 하기 전에 줄을 배치하십시오.

로컬 소켓을 통해 연결하려면 호스트 필드를 공백으로 남겨두기만 하면 됩니다.

답변3

명령줄 연결을 통해 psql을 사용하고 pgAdmin이 AWS와 RDS에 연결하지 않는 것과 동일한 문제가 있었습니다. 내 RDS를 공개적으로 액세스 가능으로 설정했습니다. 내 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에 있었습니다. 기본이 아닌 VPC에 기본 VPC와 동일한 보안 그룹, ACL 및 보안 그룹 설정을 가진 동일한 RDS 인스턴스가 있었는데 작동하지 못했습니다. 이유는 모르겠지만, 그건 또 다른 날입니다.

관련 정보