postgresql pg_hba - 可以使用多个本地线路吗?

postgresql pg_hba - can more than one local line be used?

这是 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)连接到任何东西。

我发现为了使最后一行有效,第一行必须被注释掉。

有没有办法让两者都起作用,如果第一个失败就失败了?

不,您必须将最后一行移到第一行之前,并使用 postgres 而不是 all 作为用户。

从不使用password身份验证,这是不必要的不​​安全。至少使用 md5.