微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

配置 – 我可以在pg_hba.conf中为同一个PostgreSQL本地用户启用peer和md5身份验证吗?

我想让Postgresql(超级用户)使用“peer”或“md5”身份验证方法进行身份验证,最好在两种情况下都使用本地Unix域套接字.问题是pg_hba.conf中条目的顺序很重要,并且将应用第一个匹配.

是)我有的:

# TYPE    DATABASE   USER      ADDRESS   METHOD
  local   all        harold              peer
  local   all        all                 md5

我想要什么(语法无效):

# TYPE    DATABASE   USER      ADDRESS   METHOD
  local   all        harold              peer-or-md5
  local   all        all                 md5

以下是有关我们希望在以下环境中使用的环境的更多详细信息:

在此特定服务器上,所有数据库都相对较小(每个数据<10MB)并且纯粹是只读的.每天晚上都会被哈罗德的超级用户丢弃并重新创建. harold也是一个系统帐户,因此“peer”可以很好地用于无密码cronjobs等.然后有一个访问数据库的Web界面:这使用md5身份验证(系统用户是webserver,pg用户名,密码和db名称由访客).现在我想让harold用户通过Web界面登录.由于harold的“同伴”设置,这失败了. 目前的解决方法是让web接口通过TCP连接,使用

# TYPE    DATABASE   USER      ADDRESS        METHOD
  host    all        all       127.0.0.1/32   md5
  host    all        all       ::1/128        md5

除了第一个例子中的本地条目.这样可行,但我宁愿在这里使用本地套接字 – 因为性能和直觉,这似乎是正确的事情.

这可能吗?我们有更好的解决方法吗?

根据 similar StackOverflow question,答案是否定的,您不能为相同类型,数据库,用户和地址启用两种类型的身份验证.

StackOverflow问题建议在用户的主目录中使用.pgpass文件并使用md5身份验证,但我不确定它是否一定适用于cron作业.

原文地址:https://www.jb51.cc/postgresql/192515.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐