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. iOS笔记之文件读写

    最近做的项目中要存储一组图片数据,图片带有name,date等属性,处理办法是讲image图片直接存在沙盒documents文件中,再使用plist文件存储图片属性和image路径. 存入图片: - ...

  2. New Concept English Two 20 52

    $课文50  乘车兜风 510. I love travelling in the country, but I don't like losing my way. 我喜欢在乡间旅行,但却不愿意迷路. ...

  3. DesignPattern(二) 创建型模式

    创建型模式 创建型模式就是用来创建对象的模式,抽象了实例化的过程.所有的创建型模式都有两个共同点.第一,它们都将系统使用哪些具体类的信息封装起来:第二,它们隐藏了这些类的实例是如何被创建和组织的.创建 ...

  4. wpf 客户端【JDAgent桌面助手】业余开发的终于完工了。。晒晒截图

    目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]详解(一)主窗口 圆形菜单... wpf 客 ...

  5. fusionjs uber开源的通用web插件化开发框架

    fusionjs uber开源的web 插件化开发框架 核心特性: 基于插件的开发,依赖注入开发 开箱即用的服务器端渲染,构建结果拆分,模块热加载 Tree-shaking 支持 集成的插件 redu ...

  6. servlet深探

    在spring4下面使用的是ServletContext作为容器,这个是servlet规范里面设置的:加载了默认的servlet(在spring 4之前都是web.xml中做的),但是在spring ...

  7. Javamail使用代码整理

    package com.hengrun.mail; import java.io.*; import java.security.Security; import java.text.SimpleDa ...

  8. C++ 类外定义

    类内定义与内联函数 像下面这种函数名与函数体都写在类里面的函数形式被称作类内定义,编译器编译的时候会把它默认成内联函数. class Student { public: void setAge(int ...

  9. Tornado模板转义处理

    转自:http://www.qttc.net/201305320.html tornado默认是转义所有字符,比较安全,但有时候我们的确需要把字符当做html来解析处理,因此我们需要做些处理. 示例: ...

  10. 【HDU】4352 XHXJ's LIS(数位dp+状压)

    题目 传送门:QWQ 分析 数位dp 状压一下现在的$ O(nlogn) $的$ LIS $的二分数组 数据小,所以更新时直接暴力不用二分了. 代码 #include <bits/stdc++. ...