在pg_hba.conf中,第 一个匹配
计数。每个文档:
具有匹配的连接类型,客户端地址,请求的数据库和用户名的第一条记录用于执行身份验证。没有“失败”或“备份”:如果选择了一条记录并且验证失败,则不会考虑后续记录。如果没有记录匹配,则拒绝访问。
请注意 相反的顺序 :
host all all 127.0.0.1/32 trusthost all all 127.0.0.1/32 ident
但:
host all all localhost identhost all all localhost trust
将更改保存到后,请记住要
重新加载
pg_hba.conf。(无需重新启动。)手册:
该
pg_hba.conf文件被读取在启动时和当主服务器处理一个SIGHUP信号。如果您在活动系统上编辑文件,则需要向邮局局长发信号(使用pg_ctlreload,调用SQL函数pg_reload_conf()或使用kill -HUP),以使其重新读取文件。
如果您确实像您写的那样“添加”了这些行,则根本不会有任何效果。但是,如果您 更换 管线,则存在。
在第一种情况下,您将获得
trust身份验证方法,这是一种开放策略。每个文档:
PostgreSQL假定可以连接到服务器的任何人都有权使用他们指定的任何数据库用户名(甚至超级用户名)访问数据库。
但是在第二种情况下,您将获得
ident身份验证方法,该方法必须正确设置才能起作用。
另外,正如Cas稍后指出的那样,它
localhost涵盖了IPv4和IPv6,而
127.0.0.1/32仅适用于IPv4。如果使用IPv6,则是一个重要的区别。
如果您实际上使用的是过时的8.4版本,请转到8.4的旧手册。您知道8.4已在2014年达到停产,并且不再受支持吗?考虑升级到当前版本。
在Postgres 9.1或更高版本中,您也宁愿使用而 peer
不是
ident。



