【发布时间】:2011-10-10 13:19:00
【问题描述】:
在阅读文档、源代码和帮助线程两个小时后,我放弃了。我无法让 psycopg2 使用 md5 字符串进行身份验证。根据this 线程,除了在pg_hba.conf 中启用 md5-auth 之外,我不需要做任何事情。
这是我目前的pg_hba.conf:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 0.0.0.0/0 md5
我像这样使用 psycopg2:
psycopg2.connect(host='localhost', port=5433, user='me', password='md5xxxx').cursor()
这给出了:
psycopg2.OperationalError: FATAL: password authentication failed for user "me"
当然,给定的密码与 pg_authid.rolpassword 匹配。
根据pg_hba.conf,我只能使用 md5-auth 登录(对吗?)。尽管如此,我未散列的密码仍然可以正常工作(而散列则不行),并且我无法在其源代码中找到对 psycopg2 散列它的任何引用。
帮助?
谢谢!
【问题讨论】:
标签: python authentication md5 psycopg2