安装Pgpool-II
Pgpool-II 是一个位于 PostgreSQL服务器和 PostgreSQL数据库客户端之间的中间件,Pgpool-II提供了连接池(Connection Pooling)、复制(Replication)、负载均衡(Load Balancing)、缓存(In Memory Query Cache)、看门狗(Watchdog)、超出限制链接(Limiting Exceeding Connections)等功能,可以基于这些特性来搭建PostgreSQL高可用集群。
yum安装
官方参考地址
Yum Repository
Installation from RPM
1.安装CentOS7的yum源。
$ yum install http://www.pgpool.net/yum/rpms/4.0/redhat/rhel-7-x86_64/pgpool-II-release-4.0-1.noarch.rpm
2.安装支持PostgreSQL10版本的pgpool-II
$ yum install pgpool-II-pg10
$ yum install pgpool-II-pg10-debuginfo
$ yum install pgpool-II-pg10-devel
$ yum install pgpool-II-pg10-extensions
3.服务开机启动
$ systemctl enable pgpool.service
4.启动/停止服务
$ systemctl start pgpool.service
$ systemctl stop pgpool.service
配置Pgpool-II
参考文章
pgpool-II的安装及使用
实例准备
watchdog端口9000,pcp端口9898,psql服务连接端口9999
架构图
配置系统环境
配置程序运行的用户和组为 postgres
#创建或修改目录权限
$ chown -R postgres.postgres /etc/pgpool-II
$ mkdir /var/run/pgpool/
$ chown postgres.postgres /var/run/pgpool/
#修改pgpool运行用户和组为postgres
$ vi /usr/lib/systemd/system/pgpool.service
User=postgres
Group=postgres
配置认证方式
配置pool_hba.conf,要么都是trust,要么都是md5验证方式,这里采用了md5验证方式如下设置
#"local" is for Unix domain socket connections only
local all all md5
#IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 0.0.0.0/0 md5
配置pg_hba.conf,认证方式保持一致
#"local" is for Unix domain socket connections only
local all all md5
#IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
#IPv6 local connections:
host all all ::1/128 md5
非必要可选步骤,为了集群可扩展性,可以将复制的认证条件放宽
#Al