PostgreSQL连接池PgBouncer安装及使用

Pgbouncer的安装与使用

由于 PostgreSQL 采用进程模式,大量连接对数据库性能会产生较大影响,在大量连接情况下, 
一般会在数据库和应用程序之间配置 pgbouncer,pgbouncer 可以配置在数据库主机上,也可以配置在 
单独一台服务器上,但是采用了 pgbouncer 后,在维护方面和以前会有些区别.

说白了就是一连接池。现在有好多模块,plproxy,pgpool什么的,都有这功能。pgbouncer与之相比,最大的好处是简单,小型。 
如果不需要负载均衡什么的功能,用pgbouncer就足够了。 

PgBouncer的特点 
    a.内存消耗低(默认为2k/连接),因为Bouncer不需要每次都接受完整的数据包 
    b.可以把不同的数据库连接到一个机器上,而对客户端保持透明 
    c.支持在线的重新配置而无须重启 

  • 下载

1.下载pgbouncer的安装包 
http://pgfoundry.org/frs/?group_id=1000258&release_id=1952 

2.下载libevent包 
http://monkey.org/~provos/libevent/ 

  • 安装
  1. 安装libevent 

解压  tar -zxvf  libevent-2.0.22-stable.tar.gz

编译  cd libevent-2.0.22-stable

  ./configure --prefix=/home/psql/libevent

安装   make

       make install

  1. 安装pgbouncer

解压  tar -zxvf pgbouncer-1.5.4.tar.gz

编译  cd  pgbouncer-1.5.4

 ./configure --prefix=/home/psql/pgbouncer --with-libevent=/home/psql/libevent

安装 make

 make install

安装完成之后查看pgbouncer解压目录pgbouncer-1.5.4下的config.log文件,最后显示

configure: exit 0   exit 0代表安装成功,1代表失败。

  • 配置
  1. 修改属主

chown -R  highgo:highgo  pgbouncer/       我这是用户highgo

chown -R  highgo:highgo  libevent 

  1. 配置pgbouncer配置文件

pgbouncer-1.5.4目录下etc下的pgbouncer.ini 

cp pgbouncer.ini  /home/pgsql/pgbouncer

进入目录 home/pgsql/pgbouncer

 执行 chown highgo:highgo  pgbouncer.ini 

配置文件详细参数配置见:pgbouncer配置文件详解.doc

  1. 配置用户密码文件users.txt 

操作方法与pgbouncer配置文件一样

pgbouncer-1.5.4目录下etc下的users.txt

cp users.txt /home/psql/pgbouncer

进入目录home/psql/pgbouncer

执行 chown highgo:highgo  users.txt 

用户配置为键值对

 highgo   highgo1  用户名highgo,密码highgo1

 

  • 使用
  1. 启动命令 

/home/pgsql/pgbouncer/bin/pgbouncer -d /home/pgsql/pgbouncer/pgbouncer.ini 

如果报错:

error while loading shared libraries: libevent-2.0.so  ........

安装两个包:

yum install libevent 

yum install libevent-devel 

安装完成再次执行启动命令,出现类似如下信息,则代表启动成功

LOG File descriptor limit: 1024 (H:4096), max_client_conn: 100, max fds possible: 130

 

  1. 查看日志

进入目录:/home/psql/pgbouncer  

查看 pgbouncer.log文件

  1. 登录

psql  -h 192.168.100.1 -p 5666 -U highgo -d highgo

 

-h的ip是部署pgbouncer服务器的IP

-p是配置文件中配置【pgbouncer】的port

-U是配置文件中配置【pgbouncer】的管理用户

-d 是配置文件中配置【database】的dbname

  1. 查看Pgbouncer信息(使用psql登录)

 

Show config; #查看相关配置 
Show stats; 
Show lists;#查看连接相关信息,如,数据库个数,空闲连接数等等 
Show pools;#查看池中连接信息 
Show databases;#查看相关数据库 
Show clients; #查看连接数 

  1. 修改了配置文件,使用reload重新加载

 pgbouncer=# reload

  1. 停止

使用配置文件中admin用户登录pgbouncer,执行shutdown

你可能感兴趣的:(PostgreSQL连接池PgBouncer安装及使用)