繁体   English   中英

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

[英]Connect to gitlab production postgresql database with psycopg2?

我正在尝试使用psycopg2连接到GitLab生产(安装了omnibus软件包)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

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

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

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

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

     sudo -u postgres psql -c "ALTER USER gitlab-psql WITH PASSWORD 'ReplaceThisWithYourLongAndSecurePassword';" 
  2. gitlab-psql一样运行您的python脚本,如下gitlab-psql

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM