Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Database Proxy Software
  3. PgCat

PgCat

What it is

PgCat is a free, open-source PostgreSQL pooler and proxy for self-hosted Linux deployments. Its stable pooling options include transaction and session pooling. Read queries can be distributed across replicas and the primary, while health checks can detect broken replicas and redirect queries to remaining servers. PgCat uses Tokio’s asynchronous runtime and a multithreaded design for multicore machines.

Operators can access pooler statistics through the pgcat and pgbouncer admin databases or a Prometheus HTTP endpoint. Client and PostgreSQL server connections can use SSL/TLS, and authentication supports MD5 and SCRAM-SHA-256. MD5 authentication passthrough can use auth_query so cleartext passwords are not needed in the configuration file. Docker deployment is documented, and the project publishes a container image. Sharding features and query mirroring are experimental. Transaction mode is enabled by default and does not support prepared statements, SET, or advisory locks. PgCat is licensed under MIT. The project describes it as stable and says it is used in production to serve hundreds of thousands of queries per second.

For and against

For

  • Stable transaction and session pooling
  • Health checks redirect queries from broken replicas
  • Supports SSL/TLS and two authentication methods
  • Free and open source under MIT

Against

  • Sharding and mirroring features are experimental
  • Transaction mode does not support prepared statements
  • Transaction mode does not support SET or advisory locks

The verdict

PgCat provides PostgreSQL pooling, load balancing, and failover for self-hosted deployments. Review the experimental status of sharding and mirroring, along with transaction-mode limits, before relying on those capabilities.

Who it suits

PgCat may suit teams running PostgreSQL on self-hosted Linux that need connection pooling, query routing, and replica failover. Operators considering transaction mode should account for its stated feature limits.

Plans and prices

Open source

Free

MIT license · self-hosted

Every plan, in full

On the record

Authentication
MD5 auth passthrough can use auth_query so cleartext passwords are not required in the configuration file.github.com · read 1 Oct 2026
Deployment
The project documents Docker deployment and publishes ghcr.io/postgresml/pgcat:latest.github.com · read 1 Oct 2026
Failover
Broken replicas are detected with health checks and queries are rerouted to remaining servers.github.com · read 1 Oct 2026
License
PgCat is free and open source under the MIT license.github.com · read 1 Oct 2026
Maker
PostgresML was founded in 2022 by engineers who built Instacart’s machine learning platform.postgresml.org · read 1 Oct 2026
Mirroring
Mirroring is an experimental feature that sends queries to multiple databases for testing or replica prewarning.github.com · read 1 Oct 2026
Monitoring
Pooler statistics are available through the pgcat and pgbouncer admin databases and through a Prometheus HTTP endpoint.github.com · read 1 Oct 2026
Pooling
Transaction pooling and session pooling are stable features.github.com · read 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 · read 1 Oct 2026
Purpose
PgCat is a PostgreSQL pooler and proxy supporting sharding, load balancing, failover and mirroring.github.com · read 1 Oct 2026
Read balancing
Read queries can be automatically load balanced between replicas and the primary.github.com · read 1 Oct 2026
Runtime
PgCat uses Tokio’s asynchronous runtime and a multithreaded design for multicore machines.github.com · read 1 Oct 2026
Security
Clients and PostgreSQL servers can use SSL/TLS, and authentication supports MD5 and SCRAM-SHA-256 connections.github.com · read 1 Oct 2026
Sharding
Extended SQL syntax, comment parsing and automatic sharding are experimental features.github.com · read 1 Oct 2026
Transaction-mode limit
Transaction mode is enabled by default and does not support prepared statements, SET or advisory locks.github.com · read 1 Oct 2026

The review

PgCat is a self-hosted PostgreSQL pooler and proxy for teams that need connection pooling, read balancing, or failover. Its stable pooling and routing features make it a capable open-source option, but experimental sharding and mirroring—and transaction-mode restrictions—need careful consideration.

Overview

PgCat sits between PostgreSQL clients and servers, pooling connections and routing queries across database instances. It is free and open source under the MIT license, with PostgreSQL as its supported database. The project describes PgCat as stable and says it is used in production for hundreds of thousands of queries per second; that claim does not make every feature equally mature, particularly sharding and mirroring.

Its strongest case is a self-managed PostgreSQL deployment that needs pooling, replica-aware reads, and recovery from broken replicas without adding a paid service. Teams that depend on prepared statements, SET, or advisory locks in transaction mode should assess that constraint before adopting it.

Key features

  • Connection pooling: Transaction and session pooling are stable. Transaction mode is enabled by default, but it does not support prepared statements, SET, or advisory locks, which may require application changes or a different pooling mode.
  • Read balancing and failover: PgCat can distribute read queries between replicas and the primary. Health checks identify broken replicas and redirect queries to remaining servers, a useful combination for PostgreSQL deployments with multiple servers.
  • Multicore runtime: Tokio’s asynchronous runtime and a multithreaded design are intended to use multicore machines effectively.
  • Sharding and mirroring: Extended SQL syntax, comment parsing, and automatic sharding are experimental. Mirroring, which sends queries to multiple databases for testing or replica prewarning, is experimental too; treat both as features to evaluate cautiously rather than settled production capabilities.
  • Monitoring and security: Pooler statistics are accessible through the pgcat and pgbouncer admin databases and a Prometheus HTTP endpoint. Client and server connections can use SSL/TLS, while authentication supports MD5 and SCRAM-SHA-256. MD5 passthrough can use auth_query so cleartext passwords need not be kept in the configuration file.
  • Deployment: Docker deployment is documented, and the project publishes the ghcr.io/postgresml/pgcat:latest image. Operations remain self-hosted, so deployment and upkeep belong to the adopting team.

Pricing

PgCat’s Open source plan costs nothing and is MIT-licensed, self-hosted software. It includes connection pooling, query routing, load balancing, and automatic failover for PostgreSQL. There is no paid tier or seat-based pricing in this offering; the tradeoff for the zero software price is that teams run and maintain the deployment themselves.

Platforms

PgCat supports Linux and self-hosted deployment. Its Docker documentation and published container image provide a deployment path, but it is not presented as a hosted database proxy service.

Who it's for

PgCat suits teams operating their own PostgreSQL infrastructure who want stable connection pooling, replica read balancing, and failover in a free, open-source proxy. It is less suitable when a workload relies on transaction-mode features PgCat does not support, or when experimental sharding or mirroring must be treated as a dependable core capability.

Pros and cons

Pros

  • Free MIT-licensed software: The open-source plan has no software charge and can be self-hosted.
  • Useful core routing: Stable transaction and session pooling combine with read balancing and replica health-check failover.
  • Operational visibility and safeguards: Admin-database statistics, Prometheus access, SSL/TLS, and MD5 or SCRAM-SHA-256 authentication cover key monitoring and connection needs.

Cons

  • Transaction-mode incompatibilities: Prepared statements, SET, and advisory locks are unsupported in the default mode.
  • Advanced features remain experimental: Sharding and mirroring are not as mature as the stable pooling features.
  • Self-hosting is required: Teams need to handle deployment and ongoing operations themselves.

Alternatives

For other options, see Database Proxy Software.

  • MySQL is worth considering for SQL and NoSQL applications, with replication and high-availability components in its Community Edition.
  • PgBouncer is another free, self-hosted PostgreSQL pooling option; choose it when its simpler source-release offering fits better than PgCat’s combined routing and failover features.
  • PgDog is a free open-source alternative under AGPL-3.0, with an enterprise plan that includes a production control plane, insights, and dedicated Slack support.
  • ProxySQL offers a free open-source Community plan with its core features and community support channels, plus an Enterprise plan.
  • SPQR is open-source PostgreSQL sharding software, a more focused alternative to PgCat if sharding is the priority.
  • TurbineProxy is an open-source Apache-2.0 alternative whose free plan has no per-query fees.
  • Amazon RDS is a paid alternative with a free tier; consider it when a managed database service is preferable to self-hosting a proxy.
  • DBLE is a free, GPL-2.0-licensed open-source alternative with enterprise support plans.

Verdict

Choose PgCat if you run PostgreSQL yourself and want free, stable pooling with read balancing and automatic failover in one proxy. Its core capabilities and monitoring make a persuasive case for that role. Look elsewhere if transaction-mode restrictions conflict with your application, or if you need sharding or mirroring that is beyond experimental status.

Alternatives to PgCat

Every alternative, ranked