热门关键字:  ubuntu  分区  函数  linux系统进程  Fedora

Pgbouncer 用户手册

来源: 作者: 时间:2008-05-23 Tag: 点击:

From PgsqlWiki

Jump to: navigation, search

 pgbouncer(1)

名称

pgbouncer - PostgreSQL 的轻量的连接池。

 摘要

  pgbouncer [-d][-R][-v] <pgbouncer.ini>
  pgbouncer -V|-h

 描述

pgbouncer 是一个 PostgreSQL 的连接池。任何目标应用都可以把 pgbouncer 当作一个 PostgreSQL 服务器来连接,然后 pgbouncer 会处理与服务器连接,或者是重用已存在的连接。

pgbouncer 的目标是降低因为新建到 PostgreSQL 的连接而导致的性能损失。

为了协调事务语意和连接池的关系,pgbouncer 支持几种不同粗暴程度的连接轮转方式:

Session pooling/会话连接池

最礼貌的方法。在客户端连接的时候,将会给他分配一个服务器连接,并且在客户端连接的全程都分配给它。在客户端中断连接的时候,这个服务器连接将会放回连接池。

Transaction pooling/事务连接池

服务器连接只是在一个事务的过程里赋予客户端的。在 PgBouncer 注意到事务结束后,服务器就会放回连接池。

Statement pooling/语句连接池

最激进的模式。在每个查询结束之后,服务器的连接都会立即放回连接池。在这种模式下将不允许多语句的事务,因为它们的事务语意会被破坏。

pgbouncer 的管理接口包含一些新的 SHOW 命令,在与特定的虚拟数据库 pgbouncer 连接的时候可以用于观察系统状态。

 快速入门

下面列出了基本的设置步骤。

1. 创建一个配置文件pgbouncer.ini。细节见Pgbouncer 管理员手册。最简单的:

     [databases]
     template1 = host=127.0.0.1 port=5432 dbname=template1
     
     [pgbouncer]
     listen_port = 6543
     listen_addr = 127.0.0.1
     auth_type = md5
     auth_file = users.txt
     logfile = pgbouncer.log
     pidfile = pgbouncer.pid
     admin_users = someuser

2. 创建 users.txt 文件:

     "someuser" "same_password_as_in_server"

3. 启动 pgbouncer:

     $ pgbouncer -d pgbouncer.ini

4. 让你的应用(或者 psql 客户端)连接到 pgbouncer,而不是直接连接到 PostgreSQL 服务器。

     $ psql -h 127.0.0.1 -p 6543 -U someuser template1

5. 通过连接到特殊的管理数据库 pgbouncer 并且发出 show help; 命令开始来管理 pgbouncer:

     $ psql -h 127.0.0.1 -p 6543 -U someuser pgbouncer
     pgbouncer=# show help;
     NOTICE:  Console usage
     DETAIL:
       SHOW [HELP|CONFIG|DATABASES|FDS|POOLS|CLIENTS|SERVERS|SOCKETS|LISTS|VERSION]
       SET key = arg
       RELOAD
       PAUSE
       SUSPEND
       RESUME
       SHUTDOWN

6. 如果你修改了一些配置文件中可配置的配置参数,那么可以用下面命令重新装载:

     pgbouncer=# RELOAD;

 命令行参数

-d

在后台运行。没有这个参数的话进程会在前台执行。

-R

做一个在线的重启。这个意思是连接到正在运行的进程上,从里面装载打开的 socket 并且使用这些 socket 继续运行。

-v

增加输出信息的冗长度。

-V

显示版本。

-h

显示简短的帮助。 
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册