pgbouncer-install

简介: pgbouncer install

pgbouncer-install

 

前言

 

   每次应用程序和postgres连接,都会克隆出一个服务进程来为应用程序服务,在频繁的创建和销毁进程,会耗费比较多的资源。而pgbouncer会把与后端postgresql数据库的连接缓存住,当有前端请求时,只为分配一个空闲的连接给前端程序使用,这样就降低了资源的消耗。

 

要求

 

软件:pgbouncer-1.5.5.tar.gzlibevent-2.0.22-stable.tar.gz

 

 

安装

 

1、上传软件到opt并解压

 

# tar xvf libevent-2.0.22-stable.tar.gz

# tar xvf pgbouncer-1.5.5.tar.gz

 

2、安装libevent

 

# ./configure --prefix=/home/postgres/libevent

# make

# make install

 

 

3、安装pgbouncer

 

# ./configure --prefix=/home/postgres/pgbouncer/ --with-libevent=/home/postgres/libevent/

# make

# make install

 

 

4、配置.bash_profile,修改文件权限

 

 

# cp /opt/pgbouncer-1.5.5/etc/pgbouncer.ini /home/postgres/pgbouncer/

 

# chown -R postgres:postgres pgbouncer/

# chown -R postgres:postgres libevent/

 

# su - postgres

$ vim .bash_profile

 

export LD_LIBRARY_PATH=/home/postgres/libevent/lib:$LD_LIBRARY_PATH

 

5、修改配置文件pgbouncer.ini文件并参考该文件要求创建userlist.txt

 

$ vim pgbouncer.ini

 

[databases]

postgres = host=localhost port=5432 dbname=postgres user=postgres password=postgres connect_query='SELECT 1'

 

[pgbouncer]

logfile = /home/postgres/pgbouncer/pgbouncer.log

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

listen_addr = *

listen_port = 6432

auth_type = trust

auth_file = /home/postgres/pgbouncer/userlist.txt

pool_mode = transaction

server_reset_query = DISCARD ALL

max_client_conn = 100

default_pool_size = 20

 

 

$ vim userlist.txt

 

"postgres" "postgres"

 

 

 

6、启动pgbouncer

 

./pgbouncer  -d /home/postgres/pgbouncer/pgbouncer.ini

 

7、登录

 

$ psql -p 6432 postgres

 

8、停止pgbouncer

 

$ cat /home/postgres/pgbouncer/pgbouncer.pid

$ kill number

 

 

9、查看连接池信息

 

$ psql -p 6432 pgbouncer

 

=# show help;

NOTICE:  Console usage

DETAIL:  

SHOW HELP|CONFIG|DATABASES|POOLS|CLIENTS|SERVERS|VERSION

SHOW STATS|FDS|SOCKETS|ACTIVE_SOCKETS|LISTS|MEM

SHOW DNS_HOSTS|DNS_ZONES

SET key = arg

RELOAD

PAUSE [<db>]

RESUME [<db>]

KILL <db>

SUSPEND

SHUTDOWN

SHOW

 

=# show clients;

 

=# show pools;

 

 

 

 

报错信息

 

error 1:

[postgres@postgres93 bin]$ ./pgbouncer -d /home/postgres/pgbouncer/pgbouncer.ini

./pgbouncer: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

 

[solution]

# su - postgres

$ vim .bash_profile

 

export LD_LIBRARY_PATH=/home/postgres/libevent/lib:$LD_LIBRARY_PATH

 

error 2:

[postgres@postgres93 ~]$ psql -p 6432 pgbouncer

psql: ERROR:  not allowed

 

[solution]

 

$ vim pgbouncer.init

admin_users = postgres

 

需要重启pgbouncer

 

$ psql -p 6432 pgbouncer

 

 

 

参考文档:

http://pgbouncer.github.io/downloads/

https://yq.aliyun.com/articles/43328

http://www.bubuko.com/infodetail-1203143.html

http://blog.csdn.net/lk_db/article/details/77939005?locationNum=8&fps=1

 

目录
相关文章
|
SQL 关系型数据库 数据库连接
python库之—psycopg2
python库之—psycopg2
|
SQL 前端开发 关系型数据库
LLM大模型实战 —— DB-GPT阿里云部署指南
DB-GPT 是一个实验性的开源应用,它基于FastChat,并使用vicuna-13b作为基础模型, 模型与数据全部本地化部署, 绝对保障数据的隐私安全。 同时此GPT项目可以直接本地部署连接到私有数据库, 进行私有数据处理, 目前已支持SQL生成、SQL诊断、数据库知识问答、数据处理等一系列的工作。
11677 75
|
监控 网络协议 Unix
不逊色Zabbix的开源监控LibreNMS:全功能网络监控
不逊色Zabbix的开源监控LibreNMS:全功能网络监控
2653 0
不逊色Zabbix的开源监控LibreNMS:全功能网络监控
|
弹性计算 运维 安全
阿里云轻量应用服务器是什么?看完你就知道了
阿里云轻量应用服务器是面向网站建设、开发测试等轻量场景的云服务器,按套餐售卖,内置多种应用镜像,支持一键部署,操作简单,适合个人开发者和中小企业使用。
1138 0
|
10月前
|
SQL 人工智能 自然语言处理
Apache Doris 4.0 版本正式发布:全面升级 AI 与搜索能力,强化离线计算
Apache Doris 4.0 正式发布!深度融合AI与搜索能力,支持向量索引、AI函数、全文检索打分,强化离线计算稳定性,提升查询性能与数据质量,助力企业构建高效实时数仓。
1191 11
Apache Doris 4.0 版本正式发布:全面升级 AI 与搜索能力,强化离线计算
|
弹性计算 关系型数据库 数据库
快速体验Cloudberry和APCC
通过Docker快速体验Cloudberry和APCC
964 6
|
程序员 开发工具 Windows
编程必备,程序员应该都知道的7款文本编辑器
正如一个作家需要一个文字处理器来写故事,一个艺术家需要画布来创作,同样的,如果想编程,你会需要一个地方来写代码。程序员在哪里编写代码?最常见的就是使用文本编辑器了吧。下文列出了 7 个主流的文本编辑器,不出意外的话,开发人员应该都有所了解,至少听说过。7款文本编辑器,总有一款会适合你。
11205 114
|
SQL 人工智能 自然语言处理
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
阿里云海外服务器需要备案吗?
阿里云海外服务器需要备案吗?笔者告诉大家,不需要!购买以下地域节点的云服务器都不需要备案: 阿里云海外服务器不需要备案! 阿里云海外服务器包括:中国香港节点、美国、新加坡、日本、英国等地域节点,购买海外云服务器不需要备案,可以直接使用。