2016-06-22 16 views
0

私はGitLabプロダクション(オムニバスパッケージと共にインストール)にpsycopg2のpostgresqlデータベースに接続しようとしています。psycopg2でgitlab production postgresqlデータベースに接続しますか?

私の設定は以下のようなものです:

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

それは次のエラーを与える:

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

私は、コマンドライン上のPostgreSQLサーバに接続することができます。い

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

誰もが渡す正しいパラメータは何かを知っていますか?

答えて

1

ピア認証は、プロセスが実行されているユーザーを確認することによって機能します。コマンドラインの例では、を使用してgitlab-psqlに切り替えます。

  1. gitlab-psql postgresユーザ(!ないシステムユーザ)にパスワードを割り当てとPythonを経由して接続するためにそれを使用:

    は、この問題を解決するには、2つの方法があります。パスワードを設定すると、そのようなスーパーユーザーとして実行する必要があるだけで、別のクエリです:

    sudo -u postgres psql -c "ALTER USER gitlab-psql WITH PASSWORD 'ReplaceThisWithYourLongAndSecurePassword';" 
    
  2. はそうのようなgitlab-psqlとしてあなたのPythonスクリプトを実行します。

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

はオムニバス・gitlabのアプリケーションを必要としませんpostgresqlユーザgitlab-psqlにパスワードを追加した後、gitlab-ctlによる変更が再設定されますか? –

関連する問題