这是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用户(以及通过maproot映射的root用户)连接到任何东西。
我发现为了使最后一行生效,必须注释掉第一行。
有没有一种方法既可以使两者正常工作又可以使第一个失败呢?
答案 0 :(得分:2)
否,您必须将最后一行移到第一行之前,并使用postgres
而不是all
作为用户。
永远不会使用password
身份验证,这是不必要的不安全行为。至少使用md5
。