使用psycopg2连接到gitlab生产postgresql数据库?

时间:2016-06-22 01:24:41

标签: python postgresql gitlab psycopg2

我正在尝试使用psycopg2连接到GitLab生产(使用omnibus包安装)postgresql数据库。

我的配置如下:

<a href='https://www.google.com/'>Link</a>

它出现以下错误:

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

我可以在命令行上使用以下命令连接到postgresql服务器:

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

有谁知道传递的正确参数是什么?

1 个答案:

答案 0 :(得分:1)

对等身份验证通过检查进程正在运行的用户来工作。在命令行示例中,使用gitlab-psql切换到sudo

有两种方法可以解决这个问题:

  1. gitlab-psql postgres用户(不是系统用户!)分配密码,并使用它通过python进行连接。设置密码只是您需要以超级用户身份运行的另一个查询,如下所示:

    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