29 lines
1.4 KiB
Plaintext
29 lines
1.4 KiB
Plaintext
PgBouncer is a lightweight connection pooler for PostgreSQL.
|
|
|
|
Features:
|
|
* Several levels of brutality when rotating connections:
|
|
+ Session pooling
|
|
Most polite method. When client connects, a server connection will
|
|
be assigned to it for the whole duration it stays connected. When
|
|
client disconnects, the server connection will be put back into
|
|
pool. This mode supports all PostgreSQL features.
|
|
+ Transaction pooling
|
|
Server connection is assigned to client only during a transaction.
|
|
When PgBouncer notices that transaction is over, the server will be
|
|
put back into pool. This mode breaks few session-based features of
|
|
PostgreSQL. You can use it only when application cooperates by not
|
|
using features that break. See the table below for incompatible
|
|
features.
|
|
+ Statement pooling
|
|
Most aggressive method. This is transaction pooling with a twist -
|
|
multi-statement transactions are disallowed. This is meant to
|
|
enforce "autocommit" mode on client, mostly targeted for PL/Proxy.
|
|
|
|
* Low memory requirements (2k per connection by default). This is due to
|
|
the fact that PgBouncer does not need to see full packet at once.
|
|
* It is not tied to one backend server, the destination databases can reside
|
|
on different hosts.
|
|
* Supports online reconfiguration for most of the settings.
|
|
* Supports online restart/upgrade without dropping client connections.
|
|
* Supports protocol V3 only, so backend version must be >= 7.4.
|