2016-06-22 6 views
0

GitLab 프로덕션 (옴니버스 패키지와 함께 설치됨)에 psycopg2가있는 postgresql 데이터베이스에 연결하려고합니다.psycopg2로 gitlab 제작 postgresql 데이터베이스에 연결 하시겠습니까?

sudo -u gitlab-psql -i bash /opt/gitlab/embedded/bin/psql --port 5432 -h /var/opt/gitlab/postgresql -d gitlabhq_production 

않습니다

FATAL: Peer authentication failed for user "gitlab-psql" 

내가 함께 명령 줄에 PostgreSQL 서버에 연결할 수 있습니다

onn = psycopg2.connect(database="gitlabhq_production", user="gitlab-psql", host="/var/opt/gitlab/postgresql", port="5432") 

그것은 다음과 같은 오류를 제공합니다 :

내 구성은 다음과 같다 누구에게 전달할 올바른 매개 변수가 무엇인지 알고 있습니까?

답변

1

피어 인증은 프로세스가 실행중인 사용자를 확인하여 작동합니다. 명령 줄 예에서 을 사용하여 gitlab-psql으로 전환합니다.

  1. gitlab-psql 포스트 그레스 사용자 (! 하지 시스템 사용자)에 암호를 지정하고 파이썬을 통해를 사용하여 연결합니다 :

    는이 문제를 해결하는 방법은 두 가지가 있습니다.

    sudo -u postgres psql -c "ALTER USER gitlab-psql WITH PASSWORD 'ReplaceThisWithYourLongAndSecurePassword';" 
    
  2. 지금처럼 gitlab-psql로 파이썬 스크립트를 실행합니다 : 암호를 설정하면 이렇게 같은 수퍼 유저로 실행해야 할 또 다른 쿼리입니다

    sudo -u gitlab-psql python /path/to/your/script.py 
    
+0

옴니버스-gitlab 응용 프로그램이 필요합니까 postgresql 사용자 gitlab-psql에 암호를 추가 한 후 gitlab-ctl을 통한 모든 변경 사항을 재구성 하시겠습니까? –

관련 문제