热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PostgreSQL数据库开源连接池pgbouncer使用介绍

首先,先介绍一个postgresql的资源网站:http://pgfoundry.org/这里面有非常多和POSTGRESQL相关的资源。pgbouncer是一个非常小型的连接池,最经典的用法是在plproxy环境中。这里介绍一下在LINUX平台下的安装和使用,安装时需要libevent,gcc,make等常用工具

首先,先介绍一个postgresql的资源网站:http://pgfoundry.org/ 这里面有非常多和POSTGRESQL相关的资源。

pgbouncer是一个非常小型的连接池,最经典的用法是在plproxy环境中。

这里介绍一下在LINUX平台下的安装和使用,安装时需要libevent,gcc,make等常用工具。

下载:

源码 http://pgfoundry.org/frs/download.php/2608/pgbouncer-1.3.2.tgz

文档 http://developer.skype.com/SkypeGarage/DbProjects/PgBouncer

libevent源码 http://monkey.org/~provos/libevent/ 下一个稳定版

安装:

1. 安装LIBEVENT

解包

cd libevent-1.4.13-stable

less README  查看一下帮助文档

./configure && make

make install

2.安装PGBOUNCER

解包

cd pgbouncer-1.3.2

less README

./configure ?prefix=/opt/pgbouncer ?with-libevent=/usr/local/

make

make install

3.修改环境变量

su ? postgres

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

4.编写配置文件与用户密码文件

su ? postgres

mkdir -p ~/pgconfig

cd ~/pgconfig

vi users.txt

“gamehall” “*************”

vi config.ini

[databases]

gamehall = host=192.168.*.* dbname=**** port=****

[pgbouncer]

pool_mode = transaction

listen_port = 9601

listen_addr = *

auth_type = md5

auth_file = /home/postgres/pgconfig/users.txt

logfile = /dev/null

pidfile = /home/postgres/pgconfig/pgbouncer.pid

max_client_cOnn= 1500

default_pool_size = 200

reserve_pool_timeout = 0

reserve_pool_size = 30

server_reset_query = DISCARD ALL;

admin_users = pgbouncer_admin

stats_users = pgbouncer_guest

ignore_startup_parameters = extra_float_digits

5.启动pgbouncer

su ? postgres

/opt/pgbouncer/bin/pgbouncer -d /home/postgres/pgconfig/config.ini

6.测试

psql -h 127.0.0.1 -p 9601 -U gamehall -d **** -W

正常

PGBOUNCER配置介绍:

非常详细的介绍在DOC里面有,这里简单介绍一下连接池模式

Session pooling::

Most polite method.  When client connects, a server connection

will be assigned to it for the whole duration it stays connected.

When client disconnects, the server connection will be put back

into pool.

Transaction pooling::

Server connection is assigned to client only during a transaction.

When !PgBouncer notices that transaction is over, the server

will be put back into pool.  This is a hack as it breaks application

expectations of backend connection.  You can use it only when

application cooperates with such usage by not using features

that can break.  See the table below for breaking features.

Statement pooling::

Most aggressive method.  This is transaction pooling with a twist -

multi-statement transactions are disallowed.  This is meant to enforce

“autocommit” mode on client, mostly targeted for PL/Proxy.


推荐阅读
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • 本章详细介绍SP框架中的数据操作方法,包括数据查找、记录查询、新增、删除、更新、计数及字段增减等核心功能。通过具体示例和详细解析,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • Linux中的yum安装软件
    yum俗称大黄狗作用:解决安装软件包的依赖关系当安装依赖关系的软件包时,会将依赖的软件包一起安装。本地yum:需要yum源,光驱挂载。yum源:(刚开始查看yum源中的内容就是上图 ... [详细]
  • 本文介绍了解决在Windows操作系统或SQL Server Management Studio (SSMS) 中遇到的“microsoft.ACE.oledb.12.0”提供程序未注册问题的方法,特别针对Access Database Engine组件的安装。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 本文详细介绍了 Python 中的条件语句和循环结构。主要内容包括:1. 分支语句(if...elif...else);2. 循环语句(for, while 及嵌套循环);3. 控制循环的语句(break, continue, else)。通过具体示例,帮助读者更好地理解和应用这些语句。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了如何在Linux系统中创建和管理DB2数据库,包括用户切换、数据库创建、错误处理、连接与断开、表空间和缓冲池的创建,以及用户权限管理和数据导入导出等操作。 ... [详细]
  • 本文介绍了如何通过在数据库表中增加一个字段来记录文章的访问次数,并提供了一个示例方法用于更新该字段值。 ... [详细]
author-avatar
男人着责任
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有