pgdogdev/pgdog

PostgreSQL connection pooler, load balancer and database sharder.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 12th, 2026
Created on December 27th, 2024
Open Issues & Pull Requests: 192 (+0)
GitHub issues: Enabled
Number of forks: 279
Total Stargazers: 5,480 (+0)
Total Subscribers: 24 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 95
New in 7 days: 8
Closed in 7 days: 7
Avg open age: 204 days
Stale 30+ days: 61
Stale 90+ days: 44

Recent activity

Opened in 7 days: 8
Closed in 7 days: 7
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bleeding edge (94)
  • plumbing (51)
  • backend (29)
  • frontend (29)
  • bug (18)
  • enhancement (13)
  • accepted (11)
  • good first issue (7)

Detailed Description

PgDog is a PostgreSQL connection pooler, load balancer, and database sharder written in Rust.

PgDog addresses the challenge of scaling PostgreSQL by managing connection overhead and distributing queries across multiple database instances. It operates as a proxy that sits between applications and PostgreSQL servers, implementing transaction and session pooling to allow thousands of client connections to share a smaller pool of actual database connections. The tool can parse and handle SET statements and startup options to maintain correct session state when connections are shared between clients with different parameters, and it includes advanced recovery mechanisms such as automatic abandoned transaction rollbacks and connection re-synchronization.

The tool suits applications that need to reduce connection overhead on PostgreSQL or distribute load across multiple database instances. It works well in Kubernetes environments through a Helm chart and on AWS through either EKS with Helm or ECS via a Terraform module. For those evaluating alternatives, PgDog differs from PgBouncer in its ability to handle SET statements and startup options correctly during connection sharing, and it offers more advanced connection recovery options to avoid connection churn during application crashes. The load balancer operates at the application layer and supports round robin, random, and least active connections strategies across multiple replicas and primaries. All features are configurable and can be enabled or disabled independently, with configuration managed through two files for hosts and sharding settings, and separate credentials management.

The project maintains active development with regular updates to both open source and enterprise editions, each with separate changelogs. The tool is production-ready and deployable across multiple infrastructure platforms with documented quick-start paths for Docker, Kubernetes, and AWS environments.