PgCat vs PgDog
PgCat
github.comPgDog
pgdog.devSide by side
| Figure | PgCat | PgDog |
|---|---|---|
| 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 | 2 |
| Spec score · Database Proxy Software | 7.6 (#15) | 7.7 (#12) |
| Deployment | The project documents Docker deployment and publishes ghcr.io/postgresml/pgcat:latest. | PgDog can be deployed with Kubernetes Helm, Docker, AWS ECS Terraform, pre-built binaries, or from source. |
| License | PgCat is free and open source under the MIT license. | The project is free and open source under AGPL-3.0, and the documentation says internal use does not require sharing source code. |
| Security | Clients and PostgreSQL servers can use SSL/TLS, and authentication supports MD5 and SCRAM-SHA-256 connections. | The enterprise control plane page describes SSO for access protection, while installation documentation says user credentials can be encrypted at rest in supported environments such as Kubernetes or AWS Secrets Manager. |
| Sharding | Extended SQL syntax, comment parsing and automatic sharding are experimental features. | PgDog routes queries using sharding keys and can execute queries without a key across databases in parallel. |
Plans
In their own words
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.
PgDog
PgDog is a PostgreSQL connection pooler, load balancer, and database sharder designed to scale databases without application changes. It multiplexes many application connections across fewer PostgreSQL server connections and supports SET, LISTEN/NOTIFY, and advisory locks. Read queries can be distributed across replicas while writes go to the primary, with health checks and failover detection. Sharding keys guide query routing; queries without a key can run across databases in parallel. Cross-shard transactions use PostgreSQL prepared transactions and two-phase commit, with automatic rollback on errors. PgDog can copy data and stream row changes to another database without pausing query traffic. Deployment options include Kubernetes Helm, Docker, AWS ECS Terraform, pre-built binaries, and source. Releases include Linux arm64 and amd64, Apple Silicon Mac, and Debian packages; the macOS binary is unsigned. The project is free and open source under AGPL-3.0, and documentation says internal use does not require sharing source code. Enterprise support includes architecture reviews, a dedicated Slack channel, and an SLA promising a response within 15 minutes.