At a glance
| Supported databases | PostgreSQL only |
| Pooling modes | Connection cache per child process (a cached connection is reused by a later client with the same properties); no transaction-level pooling documented |
| Routing and read/write splitting | Yes: writes to the primary, reads load balanced; preference lists by database, application or user |
| Load balancing and failover | Weighted read load balancing, replication-lag check, automatic failover and online recovery; watchdog with VIP for Pgpool-II itself |
| Authentication and TLS | trust, password, md5, scram-sha-256, cert, PAM and LDAP (build options); SSL to clients and backends; GSSAPI not supported |
| Clustering modes | streaming_replication (recommended), native_replication, logical_replication, snapshot_isolation, raw |
| Deployment | Self-hosted on Linux (packages or source build), often with three nodes for the watchdog |
| Licensing | BSD-style permissive licence, free |
Pgpool-II suits teams that want one PostgreSQL middleware layer to send writes to the primary, spread reads across streaming replicas and handle failover. It is more capable than a pure pooler but has far more settings to get right, and its pooling is a per-process connection cache rather than transaction pooling.
Overview
Pgpool-II sits between PostgreSQL clients and one or more PostgreSQL servers and speaks the PostgreSQL protocol on both sides. Its documentation lists connection pooling (reusing an established connection when a new one has the same user, database and protocol properties), load balancing of read queries, automatic detection of read versus write statements, queueing of connections above the limit, an in-memory query cache for SELECT results and a watchdog that coordinates several Pgpool-II nodes with a virtual IP.
How writes are handled depends on backend_clustering_mode. The documentation calls streaming_replication mode (PostgreSQL replicates; Pgpool-II sends writes to the primary and balances reads) the most recommended; native_replication and snapshot_isolation modes make Pgpool-II itself apply writes to every server, logical_replication relies on PostgreSQL logical replication, and raw mode does no synchronisation. Version 4.7.0 (23 December 2025) retired the old Slony mode and added PostgreSQL 18 parser and protocol 3.2 support.
Key features
- Read load balancing across replicas, chosen per session or per statement (statement_level_load_balance)
- Routing preference lists by database, application name or user, and write_function_list for functions that modify data
- Replication delay check (delay_threshold) that sends reads to the primary when standbys lag
- Automatic failover and online recovery of PostgreSQL nodes
- Watchdog for Pgpool-II high availability with a virtual IP (at least three nodes to avoid split brain)
- Connection pooling per child process and queueing when the connection limit is reached
- In-memory query cache for repeated SELECT statements
Integrations and ecosystem
Pros and cons
Pros
- One component for pooling, read/write splitting, failover and its own HA
- Fine control over which queries go to replicas, including a replication-lag threshold
- Several maintained release branches updated together
- Permissive licence with no paid tier
Cons
- Many parameters and modes; misconfiguration can route writes or stale reads incorrectly
- Pooling is a per-process cache, so it saves fewer connections than PgBouncer transaction pooling
- Watchdog HA needs at least three Pgpool-II nodes
- GSSAPI authentication is not supported
Pricing
Pgpool-II is free, open source software under a short BSD-style permission notice from the PgPool Global Development Group. The project sells nothing; your costs are the servers you run it on (a watchdog setup needs at least three Pgpool-II nodes) and the effort to configure and operate it.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
PostgreSQL teams running a primary with streaming replicas who want a middleware layer that splits reads from writes and handles failover without changing the application.
Typical use cases
- Spreading read-heavy reporting queries across streaming replicas
- Keeping one connection endpoint for the application while the primary fails over
- Routing a specific application or database to replicas with preference lists
- Caching results of repeated SELECT statements in memory
Who should look elsewhere
- Teams whose only problem is too many connections: a pure pooler such as PgBouncer is simpler.
- Managed services where the provider already handles failover and replicas, such as Amazon RDS with RDS Proxy.
Verdict
Pgpool-II is the most feature-rich open source PostgreSQL middleware in this group, covering read/write splitting and failover as well as pooling. That breadth comes with complexity, so it pays off mainly when you need its routing and HA features; for connection limits alone a dedicated pooler is easier to run.
Frequently asked questions
PgBouncer or Pgpool-II?
PgBouncer only pools connections, but it offers transaction pooling and is simple to run. Pgpool-II adds read load balancing, read/write splitting, failover and a watchdog, with a per-process connection cache instead of transaction pooling. Some teams run both.
Which clustering mode should I use?
The documentation recommends streaming_replication mode, where PostgreSQL itself replicates and Pgpool-II routes writes to the primary and reads to standbys. Snapshot isolation mode is the other suggested option when Pgpool-II must apply writes to all nodes.
Is Pgpool-II still maintained?
Yes. Releases 4.7.3, 4.6.8, 4.5.13, 4.4.18 and 4.3.21 were published on 29 September 2026, and 4.7.0 added support for the PostgreSQL 18 parser and protocol.
Does Pgpool-II cost anything?
No. It is open source under a BSD-style licence with no paid edition from the project.
Sources
- Pgpool-II home page and latest releases
- Pgpool-II licence
- Pgpool-II documentation: What is Pgpool-II
- Pgpool-II documentation: clustering modes
- Pgpool-II documentation: load balancing
- Pgpool-II documentation: authentication methods
- Pgpool-II 4.7.0 release notes
Checked November 2026.
Listed in: Database Proxy & Connection Pooling.
How we research reviews and what star ratings mean: our editorial method.