阅读文件、源代码和帮助帖子两个小时后,我放弃了。我无法让psycopg2通过md5字符串进行身份验证。根据此帖子,除了启用pg_hba.conf
中的md5认证之外,我似乎不必执行任何其他操作。
这是我当前的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的源代码中找到任何关于哈希它的参考。
有什么帮助吗?
谢谢!