Overview of PgCat features and status
mainPgCat is a next-generation PostgreSQL pooler and proxy designed to provide sharding, load balancing, failover, and mirroring. It uses the Tokio asynchronous runtime to leverage multicore machines.
Stable Features
- Transaction pooling: Improved handling of bad clients and abandoned transactions.
- Session pooling: Identical to PgBouncer.
- Load balancing: Automatic load balancing between replicas and the primary.
- Failover: Automatic rerouting around broken replicas via health checks.
- Statistics: Admin statistics via
pgbouncerandpgcatdatabases, plus Prometheus HTTP endpoint. - Security: SSL/TLS support for both client-to-pooler and pooler-to-Postgres connections. Supports MD5 and SCRAM-SHA-256 authentication.
- Auth passthrough: MD5 authentication can use an
auth_queryto avoid storing cleartext passwords in config. - Live configuration reloading: Most settings can be reloaded dynamically (except
hostandport).
Experimental Features
- Sharding: Available via extended SQL syntax, comments parsing/Regex, or automatic detection.
- Mirroring: Mirror queries between multiple databases for production traffic testing.