centos7编译安装pgbouncer
2024-09-06 15:19:56
1、下载pgbouncer程序包和libevent依赖包
wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz //pgbouncer需要用到libevent依赖包
wget http://www.pgbouncer.org/downloads/files/1.12.0/pgbouncer-1.12.0.tar.gz
2、安装编译所需的环境依赖
yum install gcc gcc-c++ make openssl-devel
3、解压并编译安装
tar -xf libevent-2.1.11-stable.tar.gz
tar -xf pgbouncer-1.12.0.tar.gz
4、编译安装libevent
./configure --prefix=/usr/local/libevent
make -j 2
make install
5、配置环境变量
echo "export PKG_CONFIG_PATH=/usr/local/libevent/lib/pkgconfig" >> ~/.bashrc
cat ~/.bashrc
source ~/.bashrc
9、授权postgres用户访问libevent-2.1.so.7权限
setfacl -Rm u:postgres:rwx /usr/
10、创建软连接
ln -s /usr/local/libevent/lib/libevent-2.1.so.7 /usr/lib64/libevent-2.1.so.7
11、编译安装pgbouncer
./configure --prefix=/usr/local/pgbouncer/
make -j 2
make install
12、创建pgbouncer.ini配置文件
cat /etc/pgbouncer/pgbouncer.ini
[databases]
postgres = host=127.0.0.1 port=5432 dbname=postgres [pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = 10.15.150.41
listen_port = 6432
unix_socket_dir = /var/run/postgresql
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
admin_users = postgres
ignore_startup_parameters = extra_float_digits,geqo pool_mode = session
server_reset_query = DISCARD ALL
max_client_conn = 10000
default_pool_size = 1000
reserve_pool_size = 30
reserve_pool_timeout = 5
max_db_connections = 5000
pkt_buf = 8192
13、创建用户名及密码认证文件,确保仅postgres用户可以访问,权限600
cat /etc/pgbouncer/userlist.txt
"postgres" "P2poRLYZ8"
14、配置开机自启服务,由systemctl管理,创建pgbouncer.service文件
cat /etc/systemd/system/pgbouncer.service
[Unit]
Description=pgBouncer connection pooling for PostgreSQL
After=syslog.target network.target [Service]
Type=forking User=postgres
Group=postgres PermissionsStartOnly=true
ExecStartPre=-/bin/mkdir -p /var/run/pgbouncer /var/log/pgbouncer
ExecStartPre=/bin/chown -R postgres:postgres /var/run/pgbouncer /var/log/pgbouncer
ExecStart=/usr/local/pgbouncer/bin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini
ExecReload=/bin/kill -SIGHUP $MAINPID
PIDFile=/var/run/pgbouncer/pgbouncer.pid LimitNOFILE=100000 [Install]
WantedBy=multi-user.target
15、填写可执行权限
chmod +x /etc/systemd/system/pgbouncer.service
16、启动服务
systemctl start pgbouncer
17、查询启动状态systemctl status pgbouncer
18、加入开机启动项
systemctl enable pgbouncer
最新文章
- DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)
- 从MySQL 5.5到5.7看复制的演进
- 文件管理php代码操作文件
- Android 联系人字母排序(仿微信)
- HDU 5313 Bipartite Graph (二分图着色,dp)
- javascript基础知识--函数定义
- SQL server 时间日期函数、类型转换
- 开发H5小游戏
- ubuntu WiFi: operation not possible due to RF-kill《转载》
- MUI 列表页面绑定接口数据
- MySQL中的空间扩展
- (╭ ̄3 ̄)╭ 小希的迷宫II
- 在servlet中跳转问题
- CF892.B. Wrath
- python制作模块
- 【雅思】【写作】【大作文】Discuss both views and give your own opinion
- curl不能支持https问题
- EditPlus配置Java
- Batch Normalization 引出的一系列问题
- OSGI企业应用开发(一)OSGI简介
热门文章
- [LeetCode] 27. Remove Element 移除元素
- centos7 安装mysql5.7(二进制安装)
- 2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础
- PHP中直接使用sql语句
- iOS组件化实现方案
- 第八节:EF Core连接MySql数据库
- freemarker中8个常用的指令
- cmd命令和linux命令的区别
- 硬件笔记之制作MacOS Mojave U盘USB启动安装盘方法
- .NET[C#]使用LINQ从List<;T>;集合中获取最后N条数据记录的方法有哪些?