我似乎已经正确安装了PostgreSQL 9.5.5。以及Ubuntu16.04上的Psycopg2,可以通过以下方式登录:
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”使用对等身份验证?
你需要提供主机
对等身份验证的工作方式是将连接字符串中的Postgres用户名与运行脚本的Linux用户的名称进行比较。
尝试使用
sudo -u postgres
运行Python脚本。这就是你打电话的样子。
相关问题 更多 >
编程相关推荐