您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Postgres不允许localhost但可与127.0.0.1一起使用

Postgres不允许localhost但可与127.0.0.1一起使用

在pg_hba.conf中,第 计数。每个文档:

具有匹配的连接类型,客户端地址,请求的数据库用户名的第一条记录用于执行身份验证。没有“失败”或“备份”:如果选择了一条记录并且验证失败,则不会考虑后续记录。如果没有记录匹配,则拒绝访问。

请注意 :

host    all         all         127.0.0.1/32          trust
host    all         all         127.0.0.1/32          ident

但:

host    all         all        localhost             ident
host    all         all        localhost             trust

将更改保存到后,请记住要pg_hba.conf。(无需重新启动。)手册:

pg_hba.conf文件被读取在启动时和当主服务器处理一个SIGHUP信号。如果您在活动系统上编辑文件,则需要向邮局局长发信号(使用pg_ctl reload调用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或更高版本中,您也宁愿使用而 不是ident

Postgres 2022/1/1 18:38:34 有329人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶