支持几种不同的连接模式:
内存需求低(默认是每个连接2K)。这是因为PgBouncer不需要一次性查看所有包。
它不绑定到一个后端服务器,目标数据库可以位于不同的主机上。
支持在线重新配置大部分设置。
支持在线重启/升级,而不用删除客户端连接。
仅支持协议V3,所以后端版本必须 >= 7.4。
下面的表列出了各种PostgreSQL特性和它们是否能与PgBouncer池模式一起共用。 请注意, ‘事务’ 池打破了客户端对服务器的期望, 只有在应用程序不使用非工作功能的情况下才能使用。
| 特性 | 会话池 | 事务池 |
|---|---|---|
| 启动参数 | 支持 1 | 支持 1 |
| SET/RESET | 支持 | 从不支持 |
| LISTEN/NOTIFY | 支持 | 从不支持 |
| WITHOUT HOLD CURSOR | 支持 | 支持 |
| WITH HOLD CURSOR | 支持 2 | 从不支持 |
| 协议级准备计划 | 支持 2 | 不支持 3 |
| PREPARE / DEALLOCATE | 支持 2 | 从不支持 |
| ON COMMIT DROP temp tables | 支持 | 支持 |
| PRESERVE/DELETE ROWS temp tables | 支持 2 | 从不支持 |
| 重置缓存的计划 | 支持 2 | 支持 2 |
| LOAD 语句 | 支持 | 从不支持 |