pgagroal vs PgBouncer
pgagroal
pgagroal.github.ioPgBouncer
pgbouncer.orgSide by side
| Figure | pgagroal | PgBouncer |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Proxy Software | 7.6 (#14) | 7.7 (#11) |
| Authentication | It supports database-backed authentication queries and a user vault for credential management. | Documented authentication options include client certificates, SCRAM-SHA-256, LDAP, PAM, and HBA-based configuration. |
| Failover | It can trigger external failover workflows when a PostgreSQL server can no longer accept writes. | PgBouncer does not provide internal failover-host configuration or detection; its FAQ describes DNS reconfiguration and external tools as options. |
| Purpose | pgagroal is a high-performance connection pool for PostgreSQL. | PgBouncer is a PostgreSQL connection pooler that reuses server connections to reduce the performance impact of opening new connections. |
Plans
In their own words
pgagroal
pgagroal is a free, self-hosted PostgreSQL connection pool for Linux and macOS. It supports per-user and per-database connection limits, pool prefill, idle connection removal, and connection validation. Administrators can enable or disable database access and choose graceful or fast shutdown. Remote management and command-line tools handle runtime administration and user management. Monitoring exports Prometheus metrics and includes a Grafana 12 dashboard. Authentication can use database-backed queries or a user vault for credentials. If a PostgreSQL server can no longer accept writes, pgagroal can trigger an external failover workflow. The project lists TLS v1.2+ and describes both server-only and mutual certificate authentication. It works with PostgreSQL-compliant drivers including pgjdbc, Npgsql, and pq. Tested systems listed include Fedora 38+, RHEL 9.x, Rocky Linux 9.x, FreeBSD, and OpenBSD; releases list packages through Fedora 42/43, RHEL 10, and Rocky Linux 10. The repository identifies a BSD-3-Clause license. GitHub is used for questions, issues, feature requests, and code contributions.
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.