gpt4 book ai didi

python - PostgreSQL psql : error: FATAL: Peer authentication failed for user "userrole"

转载 作者:行者123 更新时间:2023-12-04 18:39:02 29 4
gpt4 key购买 nike

我已经安装了 PostgreSQL 并创建了一个具有 super 用户权限的用户“userrole”。也可以通过 python 代码连接。

import psycopg2
conn = psycopg2.connect(
database="postgres", user="userrole", password="userroot", host='127.0.0.1', port= '5432'
)
cursor = conn.cursor()
cursor.execute("select version()")
data = cursor.fetchone()
print("Connection established to: ",data)
conn.close()

这是我的输出:

Connection established to:  ('PostgreSQL 12.6 (Ubuntu 12.6-0ubuntu0.20.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, 64-bit',)

Process finished with exit code 0

我面临的问题是通过 CLI 无法连接到该用户:

(venv) resh@project:~/PycharmProjects/utilities$ sudo su -l userrole
[sudo] password for resh:
su: user userrole does not exist

抱歉,我是 ubuntu 的新手,现在我已经更改了命令但仍然遇到问题:

(venv) resh@project:~/PycharmProjects/utilities$ sudo psql -U userrole
[sudo] password for resh:
psql: error: FATAL: Peer authentication failed for user "userrole"

最佳答案

您最近的 psql 尝试是尝试通过 Unix 套接字进行连接,该套接字(显然,基于错误消息)配置为用户对等身份验证。

要使用密码,您需要通过 TCP 连接,就像您的 python 所做的那样:

psql -U userrole -h 127.0.0.1

此外,sudo 对于基于密码的身份验证没有用,所以我删除了它

关于python - PostgreSQL psql : error: FATAL: Peer authentication failed for user "userrole",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66915087/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com