我似乎已经在Ubuntu 16.04上正确安装了PostgreSQL 9.5.5和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连接,但脚本是:
#!/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
命令? - Nick Barnessudo -u postgres
运行可以解决所有问题。您能将此作为答案发布,以便我可以接受吗? - Yuri Lifanov