编译安装pgbouncer-checking for OpenSSL... configure: error: not found
花了一上午时间将pgbouncer的参数通读了一遍,对他有个大致的了解:
1.配置分为连接池和pgbouncer两个部分[database]\[pgbouncer ]。
2.一条记录对应创建一个连接池,连接池的大小可以在这条配置中设置,如果不设置,则使用pgbouncer部分中配置的默认值20,当然也可以修改。
3.验证模式使用md5,则需要配置user.txt文件,即密码文件;如果使用hba,则需要指定对应的pg_hba.conf文件(即可以使用PostgreSQL的验证模式)。
4.admin_user是允许哪些用户可以在控制台连接pgbouncer这个管理数据库,并进行修改。
5.在database配置连接池中,又分为配置user/password和auth_user,这里还有点迷糊,后面实验了再来说,下面是解释:
user, password
If user= is set, all connections to the destination database will be done with the specified user, meaning that there will be only one pool for this database. Otherwise PgBouncer tries to log into the destination database with client username, meaning that there will be one pool per user. auth_user
If auth_user is set, any user not specified in auth_file will be queried from pg_shadow in the database using auth_user. Auth_user’s password will be taken from auth_file. Direct access to pg_shadow requires admin rights. It’s preferable to use non-admin user that calls SECURITY DEFINER function instead.
6.超时时间中server_lifetime和server_idle_timeout表示不是很明白,超时后第一个直接close掉,第二个直接drop掉,是何意思?
server_lifetime
The pooler will try to close server connections that have been connected longer than this. Setting it to means the connection is to be used only once, then closed. [seconds] Default: 3600.0 server_idle_timeout
If a server connection has been idle more than this many seconds it will be dropped. If then timeout is disabled. [seconds] Default: 600.0
进入正题,安装过程中遇到了一个比较蛋疼的问题,openssl安装了,但是configure时提示没有找到。查了一些资料都是胡扯,最后发现是少了对应的库:
checking for OpenSSL... configure: error: not found 原因:
The OpenSSL library is usually already installed, but you have to install the header files. Depending on your Linux distribution, you'll need these packages:
- Red Hat, Fedora, CentOS -
openssl-devel - Debian, Ubuntu -
libssl-dev - Arch -
openssl
yum install openssl-devel -y
下面是具体安装步骤了,官网的:
$ ./configure --prefix=/usr/local --with-libevent=libevent-prefix
$ make
$ make install
配置文件:
-bash-4.1$ cat pgbouncer.ini
[databases]
mydb = host=127.0.0.1 port= dbname=mydb user=postgres password=postgres
postgres = host=127.0.0.1 port= dbname=postgres user=postgres password=postgres [pgbouncer]
listen_port =
listen_addr = *
auth_type = md5
auth_file = /var/lib/pgsql/pgbouncer/config/user.txt
logfile = /var/lib/pgsql/pgbouncer/config/pgbouncer.log
pidfile = /var/lib/pgsql/pgbouncer/config/pgbouncer.pid
admin_users = postgres
pool_mode = session
由于配置的是md5,因此这里要用user.txt文件:
-bash-4.1$ cat user.txt
"postgres" "postgres"
启动:
$pgbouncer -d pgbouncer.ini
-bash-4.1$ ps -ef|grep pgbouncer
postgres 29377 1 0 16:19 ? 00:00:00 pgbouncer -d pgbouncer.ini
postgres 31574 29031 0 16:28 pts/0 00:00:00 grep pgbouncer
使用:
-bash-4.1$ psql -p
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
-bash-4.1$ psql -p -h localhost
Password:
psql (9.5.)
Type "help" for help. postgres=#
postgres=# \d
No relations found.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF- | en_US.UTF- |
template0 | postgres | UTF8 | en_US.UTF- | en_US.UTF- | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF- | en_US.UTF- | =c/postgres +
| | | | | postgres=CTc/postgres
( rows)
进入后台,查看连接和重载参数:
-bash-4.1$ psql -p -h localhost pgbouncer
Password:
psql (9.5., server 1.7./bouncer)
Type "help" for help. pgbouncer=#
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>]
DISABLE <db>
ENABLE <db>
KILL <db>
SUSPEND
SHUTDOWN
SHOW
pgbouncer=# reload;
RELOAD
pgbouncer=# show clients;
type | user | database | state | addr | port | local_addr | local_port | connect_time | request_time | ptr | link | remote_pid | tls
------+----------+-----------+--------+------+-------+------------+------------+---------------------+---------------------+----------+------+------------+-----
C | postgres | pgbouncer | active | :: | | :: | | -- :: | -- :: | 0xebe780 | | |
( row) pgbouncer=# show fds;
fd | task | user | database | addr | port | cancel | link | client_encoding | std_strings | datestyle | timezone | password
----+--------+----------+----------+-----------+------+---------------+------+-----------------+-------------+-----------+----------+----------
| pooler | | | 0.0.0.0 | | | | | | | |
| pooler | | | :: | | | | | | | |
| pooler | | | unix | | | | | | | |
| server | postgres | postgres | 127.0.0.1 | | | | UTF8 | on | ISO, MDY | PRC |
( rows)
其他说明:
在[database]中,可以指定其他服务器的数据库,而且如果数据库名字重复,会以后一条的数据库生效:
[databases]
kdb = host=127.0.0.1 port=5433 dbname=mydb user=postgres password=postgres
postgres = host=127.0.0.1 port=5433 dbname=postgres user=postgres password=postgres
;;postgres = host=10.9.5.20 port=5433 dbname=postgres user=postgres password=postgres
编译安装pgbouncer-checking for OpenSSL... configure: error: not found的更多相关文章
- linux下编译安装php5.6出现 configure: error: Cannot find MySQL header files under /usr/local/mysql.
#yum install gcc gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-dev ...
- 解决编译apache出现的问题:configure: error: APR not found . Please read the documentation - ____哊.時^随记 - 51CTO技术博客
解决编译apache出现的问题:configure: error: APR not found . Please read the documentation - ____哊.時^随记 - 51CTO ...
- checking for tgetent()... configure: error: NOT FOUND!
今天centos出现了下面的异常: checking for tgetent()... configure: error: NOT FOUND! You need to install a termi ...
- centos7编译安装pgbouncer
1.下载pgbouncer程序包和libevent依赖包 wget https://github.com/libevent/libevent/releases/download/release-2.1 ...
- CentOS 6.2 二进制安装apache2.4.3出现configure: error: APR-util not found. Please read the documentation的解决方
CentOS 6.2 二进制安装apache2.4.3出现configure: error: APR-util not found. Please read the documentation的解决方 ...
- 解决编译apache出现的问题:configure: error: APR not found . Please read the documentation
今日编译apache时出错: #./configure --prefix……检查编辑环境时出现: checking for APR... no configure: error: APR not fo ...
- 解决编译Apache出现的问题:configure: error: APR not found
今日编译apache时出错: #./configure --prefix……检查编辑环境时出现: checking for APR... noconfigure: error: APR not fou ...
- Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean
http://www.360doc7.net/wxarticlenew/541275971.html 一.什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件 ...
- Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean 假目标
http://www.360doc7.net/wxarticlenew/541275971.html 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 ...
随机推荐
- HCNP学习笔记之PXE原理详解及实践
一.PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
- MR案例:倒排索引 && MultipleInputs
本案例采用 MultipleInputs类 实现多路径输入的倒排索引.解读:MR多路径输入 package test0820; import java.io.IOException; import j ...
- GCC嵌入式汇编(内嵌汇编)入门
GCC嵌入式汇编(内嵌汇编)入门 1. 入门 在C中嵌入汇编的最大问题是如何将C语言变量与指令操作数相关联.当然,gcc都帮我们想好了.下面是是一个简单例子. asm("fsinx %1, ...
- mysql索引的建立和使用
转自[http://www.cnblogs.com/mywebname/articles/555696.html] 一.索引的概念 索引就是加快检索表中数据的方法.数据库的索引类似于书籍 ...
- 【视觉基础知识】Bag of words 在图像中的应用
文章转载自:https://www.cnblogs.com/shihuajie/p/5782515.html BOW (bag of words) 模型简介 Bag of words模型最初被用在文本 ...
- 51 Nod 1091 线段的重叠
2017-09-24 19:51:41 writer:pprp 上一个题目就是关于线段重叠最大值,这个是找区间最长重合? 给你n个线段,然后让你在其中选择两条,使两条尽可能重合多一点 解决方法; 1. ...
- Asp.Net MVC 缓存设计
Asp.Net MVC 缓存: 1. 可以直接在Controller,Action上面定义输出缓存OutputCache,如下,第一次请求这个Index的时候,里面的代码会执行,并且结果会被缓存起来, ...
- MVVM模式的3种command总结[1]--DelegateCommand
MVVM模式的3种command总结[1]--DelegateCommand 查了不少资料,大概理清楚的就是有3种.当然类名可以自己取了,不过为了便于记忆和区分,还是和看到的文章里面用一样的类名. 1 ...
- FontAwesome::Sass(5.x版)使用帮助。
FontAwesome::Sass(5.x版) https://fontawesome.com/icons?d=gallery&m=free 只能使用免费的. 在app/assets/styl ...
- 【Demo】jQuery 设置简单的分页
功能描述: (1)设定起始页位置和每页的大小: (2)绑定自定义的分页事件,在事件中隐藏当前页不需要显示的行: (3)为表格添加页链接: (4)绑定链接的单击事件,在事件中触发表格分页事件. 效果图: ...