Skip to content
SPECIFICTION
Get listed

PgBouncer vs PgCat

PgBouncer

pgbouncer.org

PgCat

github.com

Side by side

FigurePgBouncerPgCat
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · Database Proxy Software7.7 (#11)7.6 (#15)
AuthenticationDocumented authentication options include client certificates, SCRAM-SHA-256, LDAP, PAM, and HBA-based configuration.MD5 auth passthrough can use auth_query so cleartext passwords are not required in the configuration file.
FailoverPgBouncer does not provide internal failover-host configuration or detection; its FAQ describes DNS reconfiguration and external tools as options.Broken replicas are detected with health checks and queries are rerouted to remaining servers.
PurposePgBouncer is a PostgreSQL connection pooler that reuses server connections to reduce the performance impact of opening new connections.PgCat is a PostgreSQL pooler and proxy supporting sharding, load balancing, failover and mirroring.

Plans

PgBouncer

  • PgBouncerFree

PgBouncer pricing →

PgCat

  • Open sourceFree

PgCat pricing →

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.

Visit pgbouncer.org

PgCat

PgCat is a free, open-source PostgreSQL pooler and proxy for self-hosted Linux deployments. Its stable features include transaction and session pooling. Read queries can be balanced across replicas and the primary, while health checks detect broken replicas and redirect queries to remaining servers. PgCat uses Tokio’s asynchronous runtime and a multithreaded design for multicore machines. Operators can view pooler statistics through the pgcat and pgbouncer admin databases or a Prometheus HTTP endpoint. Client and PostgreSQL server connections can use SSL/TLS, with MD5 and SCRAM-SHA-256 authentication supported. MD5 passthrough can use auth_query so cleartext passwords need not be stored in the configuration file. Docker deployment is documented, and a container image is published. Sharding syntax, comment parsing, automatic sharding, and mirroring are experimental. Transaction mode is enabled by default and does not support prepared statements, SET, or advisory locks. The project describes PgCat as stable and says it serves high query volumes in production. It is licensed under MIT.

Visit github.com