如果我在我的pg_hba.conf有以下内容
# TYPE DATABASE USER CIDR-ADDRESS METHOD local all all trust local all all ident host rt4 rt_user 127.0.0.1/32 md5 host rt4 rt_user 127.0.0.1/32 password
当我在pg_ident.conf没有任何东西时,第二个local规则是否已经过时了?
第一个主线是否被第二个主线所覆盖?
由于客户端(Web应用程序)将使用localhost连接到数据库,那么是否selectmd5或password是否重要? 我的意思是,authentication方法是一个抽象层,所以客户端不知道如何检查密码?
从postgresql文档 :
具有匹配的连接types,客户端地址,请求的数据库和用户名的第一个logging用于执行身份validation。 没有“落后”或“备份”:如果select了一条logging,authentication失败,则不考虑后续logging。 如果没有logging匹配,访问被拒绝。
有两行完全相似,除了只有身份validation将不会像你喜欢的方式 – 只有第一行将被使用。 所以是的,第二local规则已经过时了。 第二条主线也是如此; 它永远不会覆盖第一个。