https://pgbouncer.github.io/config.html

参考 《PostgreSQL修炼之道》之pgbouncer

配置文件分为[databases] 和 [pgbouncer]两部分,这个前面说过。现在我们来详细讲解一下里面的配置。

在上面的部分我们已经看到了一部分的[databases]部分的参数配置,都是以键值对的形式出现的,例如dbname、host、port、user、password,这几个参数都比较好理解。还有几个额外的配置我们接着看一下:

(1) pool_size 用来配置连接池的大小。连接池的含义上面说过,如果没有这个值则使用[pgbouncer]部分的default_pool_size的值。

(2)connect_query :后面跟一个SQL语句字符串,用于探测这个连接是否正常,如果执行SQL语句出错,则换一个连接。

(3)client_encoding:指定连接的客户端使用的字符集编码

(4)datestyle:指定日期类型

(5)timezone:指定时区。

[pgbouncer]部分的配置

这个部分的配置项比较多,主要分为下面几类:

通用配置项

日志配置项

控制界面访问控制配置项

连接健康检查和超时配置项

危险的超时配置项

底层网络配置项

通用配置

logfile 指定日志文件,默认值是/var/log/pgbouncer/pgbouncer.log

pidfile 指定pid文件位置,默认值是/var/run/pgbouncer/pgbouncer.pid

listen_addr  监听的地址,默认值是127.0.0.1,可以使用*号表示监听所有IP地址。

listen_port 监听的端口,默认值是6432

unix_socket_dir 指定unix socket文件的目录,默认为/tmp目录

unix_socket_mode 指定unix socket文件的权限,默认值为0777

unix_socket_group 指定unix socket文件的组,默认无

user  指定启动PgBouncer的用户名,windows系统不支持此设置

auth_type 认证的类型,默认是trust,其他值包括md5,crypt,plain,any,hba。用的较多的是md5

auth_file 认证文件的位置,默认值是/etc/pgbouncer/userlist.txt

pool_mode 指定池的模式,默认是session模式,还可以是transaction和statement

max_client_conn  允许的最大连接数

default_pool_size  默认的池大小,默认值20

min_pool_size  最小的池大小,每个连接池至少会向后端数据库保持多少个连接

reserve_pool_size  连接池的保留连接数

reserve_pool_timeout  保留连接的超时时间

server_round_robin  负载均衡的方式是否设置为“round robin”,默认为关闭,即后进先出

ignore_startup_parameters 默认情况PgBouncer只会跟踪一些默认参数,并且能检测这些参数的变化,保持这些参数和客户端的一致。在这个配置后面跟的配置后被PgBouncer忽略,不会被检查。

disable_pqexec  是否禁止简单查询协议,默认值为0。简单查询协议允许一个请求发送多个SQL,容易导致SQL注入攻击。

max_db_connections 此数据库允许的最大连接数,全局或每个数据库

日志配置项:

syslog  是否打开syslog,windows下打开eventlog,默认值为0,表示不打开。

syslog_ident  默认为PgBouncer

syslog_facility

log_connections  是否记录连接成功的日志,默认值为1,表示记录

log_disconnections 是否记录断开连接的日志,默认值为1,表示记录

log_pooler_errors 连接池法网客户端的错误是否记录在日志中,默认值为1,表示记录

stats_period 把汇总的统计信息写入日志的时间周期,默认是60s

控制界面访问控制配置项:

admin_users  管理用户名,默认值是postgres

stats_users  允许连接到控制界面,查看连接池只读信息的用户列表。可以执行除“SHOW FDS”以外的其他“SHOW”命令

server_reset_query

server_check_delay 空闲的连接多长时间进行一次健康检测,判断连接是否可用。如果设置为0,则立即检测,默认值为30s

server_check_query,进行健康检查的SQL语句,如果为0,表示不检测,默认值为“select 1;”

server_lifetime  连接的存活时间,连接超过这个时间就会被关闭,默认为3600,设置为0表示只使用一次。

server_idle_timeout  连接的idle时间,超过此时间,连接会被关闭。默认为600

server_connect_timeout  后端数据库的login时间超过这个值就会被关闭。默认为15s

server_login_retry  传教到后端数据库的连接失败后,等多长时间后重试,默认为15s

client_login_timeout  客户端与PgBouncer建立连接后,如果无法在这段时间内完成登录,那么连接会断开,默认为60s

危险超时配置项

指的是为防止一些未知错误或者原因导致系统卡住的针对性配置。

query_timeout  允许超过该时间值的SQL会被断开,应该比SQL实际的执行时间稍长,也需要比数据库的statement_timeout参数值更大。为了应付一些未知的网络问题。默认为0.0,禁止使用

query_wait_timeout  请求在队列中等待被执行的最长时间,如果超过该时间还没有分配到连接,就会断开。默认为0,禁止使用。

client_idle_timeout  客户端连接空闲超过该时间,则断开连接。默认值为0,禁止使用

idle_transaction_timeout 客户端启动事务后,超过这个时间没有结束事务,则关闭这个客户端连接。默认值为0,禁止使用

底层网络连接配置

pkt_buf  用于网络包的内部缓冲区大小,会影响发出的TCP包的大小即内存的使用,默认值为2048,一般保持默认值

max_packet_size  通过PgBouncer最大的包大小,包可以是一个SQL,也可以是返回的结果,默认值是2147483647

listen_backlog  TCP监听函数listen的Backlog参数,默认值为128

sbuf_loopcnt   处理过程中,每个连接处理多少数据就切换到下一个连接。默认为5,如果设置为0,表示不限制。不限制时,一个连接发送大量数据,另外的连接可能就会空闲,导致被结束掉。

tcp_defer_accept linux下,默认为45,其他平台为0。详细解释用man 7 tcp来查看

tcp_socket_buffer  默认没有设置

tcp_keepalive 是否以操作系统的默认值打开基本的keepalive 设置,在linux下,操作系统的keepalive里,默认值时tcp_keepidle=7200, tcp_keepintvl-75,tcp_keepcnt=9,其他操作系统类型,默认值为1

tcp_keepcnt  默认未设置

tcp_keepidle 默认未设置

tcp_keepintvl 默认未设置
   来源:https://blog.csdn.net/zhaowenzhong/article/details/89308593
https://blog.csdn.net/zhaowenzhong/article/details/89308412

  

(转)pgbouncer常用配置项详解的更多相关文章

  1. ehcache 常用配置项详解(三)

    EhCache 给我们提供了丰富的配置来配置缓存的设置: 这里列出一些常见的配置项: cache元素的属性: name:缓存名称 maxElementsInMemory:内存中最大缓存对象数 maxE ...

  2. Storm配置项详解【转】

    Storm配置项详解 ——阿里数据平台技术博客:storm配置项详解 什么是Storm? Storm是twitter开源的一套实时数据处理框架,基于该框架你可以通过简单的编程来实现对数据流的实时处理变 ...

  3. PHP常用设计模式,PHP常用设计模式详解,PHP详解设计模式,PHP设计模式

    PHP常用设计模式详解 单例模式: php交流群:159789818 特性:单例类只能有一个实例 类内__construct构造函数私有化,防止new实例 类内__clone私有化,防止复制对象 设置 ...

  4. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  5. 【转】logback logback.xml常用配置详解(三) <filter>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  6. 【转】logback logback.xml常用配置详解(二)<appender>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  7. 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  8. 【转】logback 常用配置详解(序)logback 简介

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  9. chattr的常用参数详解

    chattr的常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,有的运维工程师不得不和开发和测试打交道,在我们公司最常见的就是部署接口.每天每个人部署的 ...

随机推荐

  1. HandlerInterceptorAdapter

    handler,是指controller的@Controller注解下的整个方法名

  2. IScroll Unable to preventDefault inside passive event listener due to target being treated as passive

    最近两天企业微信下IScroll突然无法滚动了,特别慢,之前好好的,发现主要是有红色的Unable to preventDefault inside passive event listener du ...

  3. PyCharm创建Django项目并连接mysql数据库

    0. 安装Django pip install django 1. 新建项目 注:我的Pycharm为社区版,创建项目时,File->New Project- 显示为: ​ 注意勾选内容. 如果 ...

  4. KVM学习

    获取镜像目前大小 # qemu-img info debian.img 添加额外的10G空间到镜像中 # qemu-img resize -f raw debian.img +10GB 注意:并不是所 ...

  5. .Net 获取当前周是第几周

    最近项目中需要获取当前周是今年的第几周,这东西听起来不难,但是还挺有意思的. 在中国,一周是从周一开始算,周天结束,在国外就不是这样了,是从周天到周六为一个周. 有很多种方式去实现在这个功能,下面介绍 ...

  6. windows系统mysql-5.7官方绿色版zip包安装教程

    准备 下载页面:https://dev.mysql.com/downloads/mysql/ 点击 Download 按钮下载zip包到本地,解压(以我本地的解压路径是 D:\db\mysql-5.7 ...

  7. ServiceStack.Redis简单封装

    首先创建RedisConfig配置类 #region 单例模式 //定义单例实体 private static RedisConfig _redisConfig = null; /// <sum ...

  8. 关于Panel隐藏横向滚动条

    不设置控件的AutoScroll属性,在后台写代码,就可以隐藏掉横向滚动条

  9. webform 的路由

    webform是怎么通过url找到对应handler的呢? mvc 和webapi的路由都是通过注册到RouteTable.Routes中,然后在urlroutingmodule中路由到对应route ...

  10. C# Newtonsoft.Json JsonSerializerSettings配置序列化操作

    https://blog.csdn.net/u011127019/article/details/72801033