PgBouncer vs Pgpool-II
PgBouncer
pgbouncer.orgPgpool-II
pgpool.netSide by side
| Figure | PgBouncer | Pgpool-II |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Proxy Software | 7.7 (#11) | 7.4 (#21) |
| Authentication | Documented authentication options include client certificates, SCRAM-SHA-256, LDAP, PAM, and HBA-based configuration. | Supported authentication methods include trust, clear-text password, MD5, SCRAM-SHA-256, certificate, PAM, and LDAP; GSSAPI is not supported. |
| Distribution | The downloads page offers source releases and points to native OS packages and dedicated RPM and Debian package repositories. | Pgpool-II is available as binary and source formats; the project provides RPM packages for Red Hat Enterprise Linux and compatible distributions. |
| Load balancing | PgBouncer has no internal multi-host load-balancing configuration; its FAQ describes using DNS round-robin or an external TCP load balancer such as HAProxy or LVS. | For replicated databases, it distributes SELECT queries across servers to reduce load and improve throughput. |
| Purpose | PgBouncer is a PostgreSQL connection pooler that reuses server connections to reduce the performance impact of opening new connections. | Pgpool-II is middleware between PostgreSQL servers and database clients that relays PostgreSQL protocol messages transparently. |
Plans
In their own words
PgBouncer
PgBouncer is a self-hosted connection pooler for PostgreSQL. It reuses server connections to lessen the performance cost of opening new ones, and offers session, transaction, and statement pooling. Statement pooling does not allow multi-statement transactions. PgBouncer can send connections to databases on different hosts, but it has no built-in multi-host load balancing or failover detection; DNS round-robin, external TCP load balancers, DNS changes, or external tools are described as alternatives. It can track protocol-level prepared statements in transaction and statement modes when max_prepared_statements is non-zero. Authentication options include client certificates, SCRAM-SHA-256, LDAP, PAM, and HBA-based configuration. The features page lists default memory needs of 2 kB per connection. PgBouncer is free, with source releases and references to native packages and RPM and Debian repositories. It runs on Linux and Windows; MinGW is the documented supported Windows build environment. Building requires Libevent 2.0 or later, pkg-config, and a C11-capable compiler; TLS support also requires OpenSSL.
Pgpool-II
Pgpool-II is free, self-hosted middleware positioned between PostgreSQL servers and database clients. It relays PostgreSQL protocol messages, reuses matching server connections to reduce overhead, and distributes SELECT queries across replicated databases. High-availability functions include automatic failover, Watchdog, quorum, and split-brain prevention. Additional features include replication, online recovery, connection limiting, and an in-memory query cache. The project is available in binary and source formats, including RPM packages for Red Hat Enterprise Linux and compatible distributions; Debian and Ubuntu users are directed to PostgreSQL community packages. Authentication supports trust, clear-text password, MD5, SCRAM-SHA-256, certificates, PAM, and LDAP, but not GSSAPI. SSL can protect frontend and backend traffic when enabled; it is off by default and requires OpenSSL support. Community assistance is available through mailing lists and GitHub Issues, while SRA OSS K.K. offers commercial support, consulting, and integration. The license permits use, modification, copying, and distribution without a fee.