2014-02-17 7 views
1

안녕하세요, 나는 이것을 보아 왔던 다른 솔루션이 작동하지 않는 것 같습니다 ... 우분투 서버 터미널 가상 상자 VM) : 오류 : 심각한 "사용자"a4apps "에 대한 피어 인증이 실패했습니다.우분투 서버, postgresql, 파이썬, "피어 인증 실패"

내 우분투 서버의 사용자 이름이 같습니다. 내 포스트그레스를 다시 시작했습니다. 나는에 의해 내있는 pg_hba.conf 파일을 변경 시도 : 은 "신뢰" 과 그 아래 줄을 추가하여 내가 액세스를 시도하고

"모든 모든 myubuntuserverip/32 신뢰를 호스트"를 MD5에서 IPv4 호스트 방식 변경 그것은 파이썬 스크립트를 통해. 내가 psycopg

con = psycopg2.connect(database='fieldtest2', user='a4apps') 

을 사용하고 내가 사용자를 생성 : sudo는 -u를 포스트 그레스는 사용자가 더 수퍼 유저 a4apps 만들 수없고, 다른 사용자를 생성, 그래 데이터베이스를 만들 수 없음. 만든 데이터베이스 : here

내가 아이디어의 부족 해요 : sudo는 -u 포스트 그레스 나는이 자습서 다음되었다 fieldtest2 -O a4apps

을 createdb에. 모든 지침을 부탁드립니다. 감사 마이크

답변

3

이 특정 오류 메시지 :

피어 인증 사용자에 대한 실패는

peer 인증 방법 pg_hba.conf 그 연결 시도별로 선정 된 것을 의미한다 "a4apps" 이 인증 방법에 필요한 것과 달리 OS 사용자 a4apps에 의해 작성되지 않았습니다.

 
# Database administrative login by Unix domain socket 
local all    postgres        peer 

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          peer 

postgres를 제외한 모든 사용자에 대한 로컬 암호없이 연결을 허용하려면 마지막 줄에 trust으로 peer을 대체 할 수

기본 우분투 pg_hba.conf

다음 행이 있습니다.

pg_hba.conf에서 시도한 IPv4 관련 변경 사항은 TCP/IP를 통해 연결되지 않기 때문에 스크립트에 아무런 영향을주지 않습니다. 연결 문자열이 호스트 이름을 언급하면 ​​TCP/IP를 사용하고 pg_hba.conf에서 해당 규칙을 트리거합니다.

+0

정말 도움이되었습니다. 고맙습니다. 그것은 작동하고, 나는 왜 지금 이해해야합니다. 변경 후에 postgres를 다시 시작해야한다는 것을 기억해야합니다. –