Freedom251 › Database Proxy Software
PgCat

What PgCat is
PgCat is a PostgreSQL connection pooler and proxy for Linux and self-hosted deployments. It supports stable transaction and session pooling, and can automatically balance read queries between the primary database and replicas. Health checks identify broken replicas, allowing queries to be redirected to servers that remain available. The project uses Tokio’s asynchronous runtime and a multithreaded design for multicore machines. Operators can inspect 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 authentication passthrough can use auth_query, so cleartext passwords are not needed in the configuration file. Sharding syntax, comment parsing, automatic sharding, and mirroring are experimental; mirroring sends queries to multiple databases for testing or replica prewarning. Transaction mode is on by default, but does not support prepared statements, SET, or advisory locks. Docker deployment is documented, and a container image is published. PgCat is free and open source under the MIT license. The project describes it as stable and reports production use serving hundreds of thousands of queries per second.
Who it suits
PgCat suits teams running PostgreSQL on Linux that want connection pooling, read-query balancing, or automatic failover in a self-hosted deployment. It may also suit operators who need pooler statistics, SSL/TLS connections, and MD5 or SCRAM-SHA-256 authentication.
What it does well
- Stable transaction and session pooling
- Balances read queries across replicas and the primary
- Health checks reroute queries away from broken replicas
- Statistics are available through admin databases and Prometheus
- Supports SSL/TLS, MD5, and SCRAM-SHA-256
What to know first
- Sharding and mirroring capabilities are experimental
- Transaction mode does not support prepared statements, SET, or advisory locks
Limits
The free Open source plan is self-hosted under the MIT license. Transaction mode is enabled by default and does not support prepared statements, SET, or advisory locks; sharding-related features and mirroring are experimental.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open source | MIT license · self-hosted | Free |
As github.com lists them, read 1 Oct 2026. The maker's own page has the final word.
Getting started
- Open the PgCat project website on GitHub
- Choose a self-hosted Linux deployment
- Follow the documented Docker deployment route or use the published ghcr.io/postgresml/pgcat:latest image
- Configure PostgreSQL pooling and connections for your deployment
Verdict
Choose PgCat if you need a free, MIT-licensed PostgreSQL pooler for self-hosted Linux, with pooling, read balancing, and failover. Look elsewhere if your transaction-mode workload depends on prepared statements, SET, or advisory locks, or if you need sharding or mirroring as stable features.
Questions
How much does PgCat cost?
The Open source plan is free under the MIT license.
Which database does PgCat support?
PgCat supports PostgreSQL.
Which platforms does it support?
Its listed platforms are Linux and self-hosted deployment.
Does PgCat include automatic failover and load balancing?
Yes. It can balance read queries across replicas and the primary, and health checks reroute queries when replicas are broken.
Is PgCat open source?
Yes. It is free and open source under the MIT license.
How can PgCat be deployed?
The project documents Docker deployment and publishes the ghcr.io/postgresml/pgcat:latest image.
Facts from PgCat's own pages
- Authentication
- MD5 auth passthrough can use auth_query so cleartext passwords are not required in the configuration file. · github.com, 1 Oct 2026
- Deployment
- The project documents Docker deployment and publishes ghcr.io/postgresml/pgcat:latest. · github.com, 1 Oct 2026
- Failover
- Broken replicas are detected with health checks and queries are rerouted to remaining servers. · github.com, 1 Oct 2026
- License
- PgCat is free and open source under the MIT license. · github.com, 1 Oct 2026
- Maker
- PostgresML was founded in 2022 by engineers who built Instacart’s machine learning platform. · postgresml.org, 1 Oct 2026
- Mirroring
- Mirroring is an experimental feature that sends queries to multiple databases for testing or replica prewarning. · github.com, 1 Oct 2026
- Monitoring
- Pooler statistics are available through the pgcat and pgbouncer admin databases and through a Prometheus HTTP endpoint. · github.com, 1 Oct 2026
- Pooling
- Transaction pooling and session pooling are stable features. · github.com, 1 Oct 2026
- Production status
- The project says PgCat is stable and used in production to serve hundreds of thousands of queries per second. · github.com, 1 Oct 2026
- Purpose
- PgCat is a PostgreSQL pooler and proxy supporting sharding, load balancing, failover and mirroring. · github.com, 1 Oct 2026
- Read balancing
- Read queries can be automatically load balanced between replicas and the primary. · github.com, 1 Oct 2026
- Runtime
- PgCat uses Tokio’s asynchronous runtime and a multithreaded design for multicore machines. · github.com, 1 Oct 2026
- Security
- Clients and PostgreSQL servers can use SSL/TLS, and authentication supports MD5 and SCRAM-SHA-256 connections. · github.com, 1 Oct 2026
- Sharding
- Extended SQL syntax, comment parsing and automatic sharding are experimental features. · github.com, 1 Oct 2026
- Transaction-mode limit
- Transaction mode is enabled by default and does not support prepared statements, SET or advisory locks. · github.com, 1 Oct 2026
Where PgCat stands on Freedom251
- Database Proxy Software#17 of 31