pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者间的关系:

1.pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者关系
pg_hba.conf 是 PostgreSQL 数据库的客户端认证配置文件,用于对访问 PostgreSQL 数据库的请求实施访问认证控制。
pool_hba.conf 是 PGPool-II 中间件的客户端认证配置文件,用于对访问 PGPool-II 中间件的请求实施访问认证控制。同时,因为 PGPool-II 从架构上位于 PostgreSQL 之前,因此请求需要先通过 PGPool-II 的认证控制,随后通过 PostgreSQL 的认证控制。
pool_passwd 是 PGPool-II 的认证文件。一方面,由于 PGPool-II 无法获取 PostgreSQL 数据库上的用户密码信息,因此其通过检查 pool_passwd 内用户名及密码的方式,校验请求输入的用户名及密码是否正确。另一方面,当请求通过 PGPool-II 认证后,PGPool-II 将利用 pool_passwd 内保存的用户名及密码,连接后端 PostgreSQL 数据库,进行请求。(待验证)
2.pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者对认证结果的影响
以 md5 认证控制方式为例,pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者对认证结果的影响如下表所示。
pg_hba.conf 设置的认证控制方式 pool_hba.conf 设置的认证控制方式 用户密码值是否存在于pool_passwd 结果
md5 md5 yes PGPool-II 及 PostgreSQL 层面均进行 md5 认证。 
md5 md5 no PGPool-II 及 PostgreSQL 层面均进行 md5 认证,但由于用户密码没有保存于 pool_passwd 文件中,导致 PGPool-II 层验证失败,报错 "MD5" authentication with pgpool failed for user "XX"
md5 trust yes/no 当 PGPool-II 工作于复制、主备、并行等模式时,无法进行 md5 认证。PGPool-II 接收到请求后,直接利用 pool_passwd 内的用户密码值,对后端 PostgreSQL 进行请求。
对于非上述情况的,则采用 md5 认证。
trust md5 yes PGPool-II 层面验证成功,直接对无须验证的 PostgreSQL 后端数据库发起请求。
trust md5 no PGPool-II 层面验证失败,报错 "MD5" authentication with pgpool failed for user "XX"
trust trust yes/no 不做任何验证
 
参考资料:
(1).https://pgpool.net/mediawiki/index.php/FAQ#I_created_pool_hba.conf_and_pool_passwd_to_enable_md5_authentication_through_pgpool-II_but_it_does_not_work._Why.3F
 
 

li {list-style-type:decimal;}.wiz-editor-body ol.wiz-list-level2 > li {list-style-type:lower-latin;}.wiz-editor-body ol.wiz-list-level3 > li {list-style-type:lower-roman;}.wiz-editor-body blockquote {padding: 0 12px;}.wiz-editor-body blockquote > :first-child {margin-top:0;}.wiz-editor-body blockquote > :last-child {margin-bottom:0;}.wiz-editor-body img {border:0;max-width:100%;height:auto !important;margin:2px 0;}.wiz-editor-body table {border-collapse:collapse;border:1px solid #bbbbbb;}.wiz-editor-body td,.wiz-editor-body th {padding:4px 8px;border-collapse:collapse;border:1px solid #bbbbbb;min-height:28px;word-break:break-word;box-sizing: border-box;}.wiz-hide {display:none !important;}
-->

pg_hba.conf、pool_hba.conf 以及 pool_passwd 三者间的关系的更多相关文章

  1. JDK与JRE、JVM三者间的关系及JDK的安装部署

    JDK与JRE.JVM三者间的关系及JDK的安装部署 一.JDK与JRE.JVM三者间的关系 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了 ...

  2. 连接池、数据源、JNDI三者间的关系及用法

    连接池:连接池是由容器(比如Tomcat)提供的,用来管理池中的连接对象.连接池自动分配连接对象并对闲置的连接进行回收.连接池中的连接对象是由数据源(DataSource)创建的.连接池(Connec ...

  3. Activity、Window和View三者间的关系有一定的见解

    一.简述如何将Activity展现在手机上 Tips: Activity本身是没办法处理显示什么控件(view)的,是通过PhoneWindow进行显示的 换句话说:activity就是在造Phone ...

  4. JDK、JRE、JVM三者间的关系

    JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库.Java Runtime Enviro ...

  5. 区分.net、c#、asp.net三者间的关系

    1..net(dot net) .net是一个平台,抽象的平台概念. 实现形式是库:①定义了基本的类型(通用类型系统CTS,common type system).   ②包含.net公共语言运行库( ...

  6. JDK、JRE、JVM三者间的关系(待更新...)

    JDK(Java Development Kit) JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jv ...

  7. JDK、JVM和JRE三者间的关系,及JDK安装路径下的文件夹说明

    JDK的全称是Java SE Development Kit, 即Java标准开发包,是Sun公司提供的一套用于开发Java应用程序的开发包, 它提供了编译.运行Java查询所需的各种工具和资源,包括 ...

  8. 【转】SVN添加文件时的错误处理:...\conf\svnserve.conf:12: Option expected

    转载地址:http://www.linuxidc.com/Linux/2014-09/106683.htm 安装完SVN服务器,添加完用户权限后,准备将本地的项目add到服务器上时,报"C: ...

  9. D:/apache2/conf/httpd.conf:Cannot load D:/apache2/modules/mod_actions.so

    报错如下: errors reported here must be corrected before service can be started.httpd:Syntax error on lin ...

随机推荐

  1. centos7.3安装配置vsftp

    首先使用命令查看,系统内是否安装了vsftp [root@instance_290388 down]# rpm -qa |grep vsftp 如果没有安装,使用命令,进行安装 [root@insta ...

  2. Microsoft Office 2010 Service Pack 2 发布更新

    Microsoft Office 2010 32 位版本 的 Service Pack 2 (SP2) 包含的新更新可以提高安全性.性能和稳定性.此外,SP 是以前发布的所有更新的汇总. 下载更新补丁 ...

  3. Beta阶段第1周/共2周 Scrum立会报告+燃尽图 06

    作业要求与 [https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284] 相同 版本控制:https://git.coding.net/li ...

  4. STL标准库-容器-forward_list

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. forward_list即单向list,功能少额外开销就小.而且只能在前段插入元素 结构如下 一 定义 #include &l ...

  5. 转:application/json 四种常见的 POST 提交数据方式

    四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 PO ...

  6. 【java基础】java关键字final

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下 ...

  7. time函数及其用法

    Linux下三种时间 st_atime:文件中的数据最后被访问的时间           Time when file data was last accessed. Changed by  the  ...

  8. java的static研究

    (1)static关键字:可以用于修饰属性.方法和类. 1,属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一的一份静态的成员变量(不能修饰临时变量 2,方法:static修饰的方法叫做静态, ...

  9. OneProxy常用参数说明

    5.2.OneProxy常用参数说明 OneProxy的所有可用参数可通过oneproxy --help-all查看.所有参数均可以写入文件中,由OneProxy启动时加载 5.2.1.基本参数 -- ...

  10. MySQL分段统计SQL写法 与 Mybatis 异常 java.math.BigDecimal cannot be cast to java.lang.Integer

    mysql> select end) as '<60', end) as '60~69', end) as '70~79', end) as '80~89', end) as '>= ...