在 Fedora 12 上,我正在为自己设置一个测试数据库,而 pg_hba.conf 默认包含以下内容:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
我想启用 md5 登录,以便名为“foo”的 PostgreSQL 用户可以访问名为“foo”的数据库。但是,当我添加这一行并重新启动 postgres 时:
local foo foo md5
使用我的常规用户帐户运行 psql -U 'foo' 仍然会产生以下消息:
psql: FATAL: Ident authentication failed for user "foo"
在我可以通过 md5 登录到“foo”之前,我必须删除第一条本地线路(它有 ident)。
如何在保持 ident 身份验证的同时为“foo”启用 md5 身份验证?
https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html表示条目的顺序很重要,具体来说:
(所以尝试颠倒顺序 - 将您添加的行放在顶部)