使用 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
有两种方法可以解决这个问题:
为 gitlab-psql
postgres 用户分配密码(不是 系统用户!)并使用它通过 python 连接.设置密码只是您作为超级用户需要 运行 的另一个查询,如下所示:
sudo -u postgres psql -c "ALTER USER gitlab-psql WITH PASSWORD 'ReplaceThisWithYourLongAndSecurePassword';"
运行 你的 python 脚本像这样 gitlab-psql
:
sudo -u gitlab-psql python /path/to/your/script.py
我正在尝试使用 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
有两种方法可以解决这个问题:
为
gitlab-psql
postgres 用户分配密码(不是 系统用户!)并使用它通过 python 连接.设置密码只是您作为超级用户需要 运行 的另一个查询,如下所示:sudo -u postgres psql -c "ALTER USER gitlab-psql WITH PASSWORD 'ReplaceThisWithYourLongAndSecurePassword';"
运行 你的 python 脚本像这样
gitlab-psql
:sudo -u gitlab-psql python /path/to/your/script.py