缺省:15
client_login_timeout
如果客户端登陆了,但是无法在这段时间内完成登陆,那么它将被断开。主要是为了避免死掉的连接仍然 SUSPEND 并且因此导致在线重启。
缺省:60
危险超时
设置下列因未知原因导致的超时。
query_timeout
运行时长超过这段的查询就会被取消。这个应该是和小一些的服务器端的 statement_timeout 一起使用,以便于只对付网络问题。
缺省:0(关闭)
client_idle_timeout
客户端连接空闲超过这段时间就被管理。这个应该比客户端的连接生命期设置长,以便于只处理网络问题。
缺省:0(关闭)
底层网络设置
pkt_buf
用于网络包的内部缓冲区大小。会影响发出的 TCP 包以及一般的内存使用。实际的 libpq 包可以比这个大,因此没必要设置得太大。
缺省:2048
tcp_defer_accept
下面的选项的细节应该从 man 7 tcp 中获取
缺省:在 Linux 里是 45,否则是 0
tcp_socket_buffer
缺省:未设置
tcp_keepalive
缺省:未设置
tcp_keepcnt
缺省:未设置
tcp_keepidle
缺省:未设置
tcp_keepintvl
缺省:未设置
[databases] 段
这里包含 key=value (键值)对,键会被当做数据库明而值会当做 libpq 连接串风格的键值对列表。因为实际上并未使用 libpq,所以不是所有来自 libpq 的特性可以使用(service=,引号)。
位置参数
dbname
目标数据库名。
缺省:和客户端数据库名同名。
host
要连接到的 IP 地址。
缺省:未设置,意味着使用 unix socket。
port
缺省:5432
user, password
如果使用了 user=,那么所有连接到目标数据库的连接将会以该用户的身份完成,意味着对这个数据库只有一个连接池。
否则,pgbouncer 会尝试使用客户端用户名登陆目标数据库,意味着每个用户会有一个连接池。
每数据库的连接池大小
pool_size
设置这个数据库的最大的连接池大小。如果没设置,则使用 default_pool_size。
额外的参数
这些参数让我们可以在服务器连接上设置缺省的参数。
请注意从 PgBouncer 1.1 开始,pgbouncer 就回跟踪客户端的这些数值的变化,因此在 pgbouncer.ini 里使用这些参数已经是废弃了的。
client_encoding
从服务器端询问特定的 client_encoding。
datestyle
从服务器询问特定的 datestyle。
timezone
从服务器询问特定的 timezone。
