概述前端
pgbouncer是PostgreSQL的一个轻量级链接池,能够给客户端提供一个统一的视图。node
pgbouncer的做用:git
a)pgbouncer能够在后端数据库和前端应用间简历链接的桥梁,由pgbouncer去处理和后端的链接关系。github
b)对客户端的链接进行限制,防止过多的恶意链接。sql
pgbouncer的特色:数据库
a)内存消耗低。(默认2k/链接)vim
b)能够把不一样的数据库链接到一个机器上,而对客户端保持透明。后端
c)支持在线的重行配置而无需重启。bash
需求服务器
postgresql-xl在架构上,coordiantor节点具备链接池做用,可是在多个coordiantor节点的时候,须要配置一个
管理多个coordinator节点的链接池。考虑到只须要要简单的链接池功能,因此选择pgbouncer这种轻量级的链接池
相对比较合适。
背景
服务器配置
10.0.1.13 gtm
10.0.1.14 dbnode01
10.0.1.15 dbnode02
逻辑节点配置
gtm gtm节点
dbnode01 1个coordinator节点,2个datanode节点
dbnode02 1个coordinator节点,2个datanode节点
环境
CentOS7.1
postgresql-xl9.2
编译安装
依赖包安装
yum install –y libevent-devel
若是yum不行,直接下载libevent包,编译安装便可。
源码编译安装
下载源码包,目前最新版本为1.7
https://pgbouncer.github.io/downloads/files/1.7/pgbouncer-1.7.tar.gz
解压
tar xvf pgbouncer-1.7.tar.gz
./configure
make & make install
配置环境变量
vim .bashrc
增长pgbouncer目录
export PATH=/usr/local/pgbouncer/bin:$PATH
source .bashrc
配置
pgbouncer.ini
[database]
postgres = host=10.0.1.14 port=10010 user=postgres dbname=postgres
postgres = host=10.0.1.15 port=10020 user=postgres dbname=postgres
[pgbouncer]logfile = /home/postgres/pgbouncer/pgbouncer.log
pidfile = /home/postgres/pgbouncer/pgbouncer.pid
listen_addr = 127.0.0.1
listen_port = 6432
auth_file = /home/postgres/pgbouncer/userlist.txt
userlist.txt
用户密码配置文件,测试使用明文,能够使用md5加密
增长:
“postgres” ““
由于自己postgresql的用户postgres没有使用密码,因此能够直接用" ",在用户名和密码中间须要使用一个空格。
测试
链接测试
psql -h 127.0.0.1 -p 6432 -U postgres postgres
建立表
create table t1(f1 int);
\dt
insert记录
insert into t1 values(1);
insert into t1 values(22);
查看insert数据
select * from t1;
数据传输状况
7.
完
