@@ -3,66 +3,66 @@ layout: default
3
3
title : PgBouncer features
4
4
---
5
5
6
- # Features
6
+ # 特性
7
7
8
- - Several levels of brutality when rotating connections :
8
+ - 支持几种不同的连接模式 :
9
9
10
- Session pooling/会话连接池
11
- : 最礼貌的方法。在客户端连接的时候,在它的连接生命期内,
12
- 会给它赋予一个服务器连接。在客户端断开的时候,服务器连接会放回到连接池中。
10
+ Session pooling/会话连接池
11
+ : 最礼貌的方法。在客户端连接的时候,在它的连接生命期内,
12
+ 会给它赋予一个服务器连接。在客户端断开的时候,服务器连接会放回到连接池中。
13
13
14
- Transaction pooling/事务连接池
15
- : 仅在事务期间将服务器连接分配给客户端。当PgBouncer注意到该事务结束时,
16
- 服务器将被放回到池中。它打破了应用程序对后端连接的期望。
17
- 只有在应用配合这样的使用模式,没有使用会破坏这种使用模式的时候才能用这个连接方式。
18
- 参阅下表获取会破坏这种模式的特性。
14
+ Transaction pooling/事务连接池
15
+ : 仅在事务期间将服务器连接分配给客户端。当PgBouncer注意到该事务结束时,
16
+ 服务器将被放回到池中。它打破了应用程序对后端连接的期望。
17
+ 只有在应用配合这样的使用模式,没有使用会破坏这种使用模式的时候才能用这个连接方式。
18
+ 参阅下表获取会破坏这种模式的特性。
19
19
20
- Statement pooling/语句连接池
21
- : 最积极的方法。这是一个事务池的一个扭曲的变种——不允许多语句事务。
22
- 这意味着在客户端上强制 "autocommit" 模式,主要针对PL/Proxy。
20
+ Statement pooling/语句连接池
21
+ : 最积极的方法。这是一个事务池的一个扭曲的变种——不允许多语句事务。
22
+ 这意味着在客户端上强制 "autocommit" 模式,主要针对PL/Proxy。
23
23
24
- - 内存需求低(默认是每个连接2K)。这是因为PgBouncer不需要一次性查看所有包。
24
+ - 内存需求低(默认是每个连接2K)。这是因为PgBouncer不需要一次性查看所有包。
25
25
26
- - 它不绑定到一个后端服务器,目标数据库可以位于不同的主机上。
26
+ - 它不绑定到一个后端服务器,目标数据库可以位于不同的主机上。
27
27
28
- - 支持在线重新配置大部分设置。
28
+ - 支持在线重新配置大部分设置。
29
29
30
- - 支持在线重启/升级,而不用删除客户端连接。
30
+ - 支持在线重启/升级,而不用删除客户端连接。
31
31
32
- - 仅支持协议V3,所以后端版本必须 \> = 7.4。
32
+ - 仅支持协议V3,所以后端版本必须 \> = 7.4。
33
33
34
34
35
- ## 池模式的SQL特性映射
35
+ ## 池模式的SQL特性映射
36
36
37
- 下面的表列出了各种PostgreSQL特性和它们是否能与PgBouncer池模式一起共用。
38
- 请注意, '事务' 池打破了客户端对服务器的期望,
39
- 只有在应用程序不使用非工作功能的情况下才能使用。
37
+ 下面的表列出了各种PostgreSQL特性和它们是否能与PgBouncer池模式一起共用。
38
+ 请注意, '事务' 池打破了客户端对服务器的期望,
39
+ 只有在应用程序不使用非工作功能的情况下才能使用。
40
40
41
41
| ----------------------------------+-----------------+---------------------|
42
- | 特性 | 会话池 | 事务池 |
42
+ | 特性 | 会话池 | 事务池 |
43
43
| ----------------------------------+-----------------+---------------------|
44
- | 启动参数 | 支持 [ ^ 0 ] | 支持 [ ^ 0 ] |
45
- | SET/RESET | 支持 | 从不支持 |
46
- | LISTEN/NOTIFY | 支持 | 从不支持 |
47
- | WITHOUT HOLD CURSOR | 支持 | 支持 |
48
- | WITH HOLD CURSOR | 支持 [ ^ 1 ] | 从不支持 |
49
- | 协议级准备计划 | 支持 [ ^ 1 ] | 不支持 [ ^ 2 ] |
50
- | PREPARE / DEALLOCATE | 支持 [ ^ 1 ] | 从不支持 |
51
- | ON COMMIT DROP temp tables | 支持 | 支持 |
52
- | PRESERVE/DELETE ROWS temp tables | 支持 [ ^ 1 ] | 从不支持 |
53
- | 重置缓存的计划 | 支持 [ ^ 1 ] | 支持 [ ^ 1 ] |
54
- | LOAD 语句 | 支持 | 从不支持 |
44
+ | 启动参数 | 支持 [ ^ 0 ] | 支持 [ ^ 0 ] |
45
+ | SET/RESET | 支持 | 从不支持 |
46
+ | LISTEN/NOTIFY | 支持 | 从不支持 |
47
+ | WITHOUT HOLD CURSOR | 支持 | 支持 |
48
+ | WITH HOLD CURSOR | 支持 [ ^ 1 ] | 从不支持 |
49
+ | 协议级准备计划 | 支持 [ ^ 1 ] | 不支持 [ ^ 2 ] |
50
+ | PREPARE / DEALLOCATE | 支持 [ ^ 1 ] | 从不支持 |
51
+ | ON COMMIT DROP temp tables | 支持 | 支持 |
52
+ | PRESERVE/DELETE ROWS temp tables | 支持 [ ^ 1 ] | 从不支持 |
53
+ | 重置缓存的计划 | 支持 [ ^ 1 ] | 支持 [ ^ 1 ] |
54
+ | LOAD 语句 | 支持 | 从不支持 |
55
55
| ----------------------------------+-----------------+---------------------|
56
56
57
57
[ ^ 0 ] :
58
- 启动参数是: ** client_encoding** , ** datestyle** , ** timezone**
59
- 和 ** standard_conforming_strings** . PgBouncer 可以检测到它们的改动,
60
- 所以它可以保证这些参数对客户端保持一致。自PgBouncer 1.1开始可用。
58
+ 启动参数是: ** client_encoding** , ** datestyle** , ** timezone**
59
+ 和 ** standard_conforming_strings** . PgBouncer 可以检测到它们的改动,
60
+ 所以它可以保证这些参数对客户端保持一致。自PgBouncer 1.1开始可用。
61
61
62
62
[ ^ 1 ] :
63
- 完全透明要求 PostgreSQL 8.3 和 PgBouncer 1.1 并设置
63
+ 完全透明要求 PostgreSQL 8.3 和 PgBouncer 1.1 并设置
64
64
` server_reset_query = DISCARD ALL ` .
65
65
66
66
[ ^ 2 ] :
67
- 有望在PgBouncer中添加对它的支持。
67
+ 有望在PgBouncer中添加对它的支持。
68
68
0 commit comments