这是PostgreSQL 9.6.9。
这是pg_hba.conf文件的一部分:
local sameuser all password host sameuser all 127.0.0.1/32 password host sameuser all ::1/128 password # "local" is for Unix domain socket connections only local all all ident map=maproot
其目的是,一般来说,任何人都可以使用密码连接到数据库,但最后一行是为了允许本地postgres用户(以及通过map root映射的root用户)连接到任何东西。
我发现,为了使最后一行有效,第一行必须被注释掉。
有没有一种方法可以让两者都发挥作用,如果第一种方法失败了呢?
不,你必须在第一行之前移动最后一行并使用 postgres 而不是 all 作为用户。
postgres
all
从来没有 使用 password 身份验证,这是不必要的不安全。至少使用 md5 是的。
password
md5