【发布时间】:2017-03-25 01:05:19
【问题描述】:
我似乎已经正确安装了 PostgreSQL 9.5.5。和 Psycopg2 在 Ubuntu 16.04 上,并且可以通过以下方式登录:
sudo -u postgres psql
如果我随后发出\conninfo,我会得到以下信息:
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".
当然,我应该能够通过 psycopg2 以与 here 相同的方式连接,但是脚本:
#!/usr/bin/python
import psycopg2
conn = psycopg2.connect("dbname=postgres user=postgres")
conn.close()
给我:
psycopg2.OperationalError: FATAL: Peer authentication failed for user "postgres"
我只希望 PostgreSQL 供个人使用,所以我不想启用 TCP 身份验证。
如何在 Psycopg2 中对用户“postgres”正确使用对等身份验证?
【问题讨论】:
-
您是否使用
sudo -u postgres来运行您的Python 脚本? -
谢谢,以
sudo -u postgres运行可以解决所有问题。您可以将此作为答案发布,以便我接受吗?
标签: python postgresql psycopg2 ubuntu-16.04