PgBouncer vs TurbineProxy
PgBouncer
pgbouncer.orgTurbineProxy
turbineproxy.comSide by side
| Figure | PgBouncer | TurbineProxy |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Proxy Software | 7.7 (#11) | 7.6 (#16) |
| 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. | The site lists round-robin or least-connections balancing across replicas and automatic exclusion of replicas beyond a lag threshold. |
| Purpose | PgBouncer is a PostgreSQL connection pooler that reuses server connections to reduce the performance impact of opening new connections. | TurbineProxy is a Rust database proxy for MySQL and PostgreSQL. |
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.
TurbineProxy
TurbineProxy is a self-hosted Rust proxy for MySQL and PostgreSQL that directs reads and writes according to query intent, without requiring application code changes. It can route across replicas or run as a standalone proxy in front of one database server. Replica routing supports round-robin or least-connections balancing and excludes replicas when lag exceeds a configured threshold. Per-backend connection pools use multiplexing and configurable sizes. Security controls include SQL injection detection, per-user read-only rules, query allowlists, and AES-256-GCM encryption at rest. For MySQL 8.0 and later, it specifies GTID-aware read-your-own-writes support. A web dashboard, Prometheus metrics, query analytics, a heatmap, and Grafana dashboard JSON cover observability. Its embedded MCP server offers seven tools over JSON-RPC 2.0 with Basic Auth, including slow-query analysis, N+1 detection, index advice, replica lag, and backend health. It is open source under Apache-2.0, with a free plan at free and no per-query fees. Install options include binary, Docker, Homebrew, AUR,.deb, and.rpm.