답변:
그것은 Postgres가 Ident 프로토콜을 사용하여 사용자를 인증하려고 시도하고 있다는 것을 의미합니다. auth 인증은 다음과 같이 작동합니다.
pg_hba.conf
(에서 파일 /etc/postgres-something/main
프로토콜로 정의하는 '행선지')는 데이터베이스에 연결하기 위해 db
특정 호스트에서 연결하는 사용자를 위해가능한 원인과 해결책 :
sudo apt-get install oidentd
.CREATE ROLE foo
. 또는에 항목을 추가하십시오 /etc/postgresql/.../main/pg_ident.conf
.어쩌면 실제로는 ID가 아닌 비밀번호 로 연결 하고 싶을 수도 있습니다 . pg_hba.conf
파일을 적절히 편집하십시오 . 예를 들어 다음을 변경하십시오.
host all all 127.0.0.1/32 ident
에
host all all 127.0.0.1/32 md5
원인에 대해서는 확실하지 않지만이 문제가 해결되었습니다.
...에서 pg_hba.conf
이것으로 변경하십시오 :
모든 127.0.0.1/32 md5를 모두 호스팅
정확한 오류 : Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"
CentOS에서 다음 행을 추가하십시오 /var/lib/pgsql/9.3/data/pg_hba.conf
.
host all all 127.0.0.1/32 trust
그리고 다른 항목을 주석으로 처리하십시오.
물론이 설정은 안전 하지 않지만 나와 같은 개발 VM을 망칠 경우 아마 괜찮을 것입니다 ...
아직 시도하지 않은 경우 pg_hba.conf 파일을 검토하십시오. 이름은 /var/lib/pgsql/9.3/data/pg_hba.conf(Fedora 20)와 같습니다. 'find / -name pg_hba.conf'를 사용하여 찾아야 할 수도 있습니다.
파일 맨 아래에서 로컬 테스트의 경우 'METHOD'값을 'trust'로 변경하십시오 (자세한 내용은 postgres 문서 참조). 모든 것이 깨끗하게 시작되고 새로운 매개 변수가 읽히도록 머신을 재부팅하십시오.
잘만되면 이것이 당신의 고통을 치료할 것입니다. PostgreSQL 9.3으로 Fedora 20에서 내 문제를 해결했습니다.
pg_ctl reload
콘솔에서 또는 SELECT pg_reload_conf();
권한있는 사용자로 SQL을 실행할 때 사용하십시오.
/var/lib/psql/data