PoolProbe
A pre-migration audit tool that scans a Postgres application's codebase for pooling-incompatible patterns like SET statements, session variables, and LISTEN/NOTIFY, then produces a compatibility report and fix plan for PgBouncer, RDS Proxy, or PgDog.
Backend engineers and platform teams planning to add connection pooling to a mature Postgres application
- Static analysis that flags SET, prepared statements, advisory locks, and other pooling-sensitive patterns in application code
- Per-pooler compatibility score and risk report explaining which features break under transaction vs session mode
- Suggested refactors that keep RLS, advisory locks, and pub/sub working under pooling
- GitHub Actions and CI checks that block new pooling-incompatible patterns from merging
PgDog's launch exposes leaky abstractions in PgBouncer and RDS Proxy, and teams currently face the choice of rewriting app code or giving up Postgres features — a tool that maps the risk before migration has clear pull.
PgDog HN launch hit 123 points with 69 comments and got funded, and multiple dev blogs describe real pain around pooling-incompatible patterns (SET, prepared statements, advisory locks) — but it's a sub-niche inside an already small audience.PgDog: Connection pooler, load balancer and sharder for PostgreSQL | Hacker News ↗PgBouncer Transaction Mode: What It Breaks and What to Do About It ↗
Existing pgbouncer-audit only lints pgbouncer.ini configs (pool_mode, max_client_conn, auth_type) — there is no established tool that scans application source for SET/LISTEN/NOTIFY/advisory-lock patterns across Python/Ruby/Go/Node stacks.GitHub - sarteta/pgbouncer-audit: Lint PgBouncer ini files for unsafe ... ↗PgBouncer config ↗
Free OSS alternatives (PgBouncer docs, pgDash's blog, PgDog itself) cover most needs; the buyer is a backend engineer doing a one-time migration with no recurring pain, making a paid audit a tough sell beyond consultancies.PostgreSQL Connection Pooling with PgBouncer - pgDash ↗Our funding announcement - PgDog ↗
Connection pooling has been a fundamental Postgres concern for ~20 years (PgBouncer since 2007) and is getting renewed attention with PgDog's funding — the problem class is permanent.PgBouncer — PostgreSQL Connection Pooling | JusDB ↗PgDog is funded and coming to a database near you | Hacker News ↗
Detecting SQL anti-patterns in source code is tractable via AST/regex over common idioms, but supporting N languages × N ORMs × per-pooler quirks (PgBouncer transaction mode, RDS Proxy session pinning, PgDog) is non-trivial to keep accurate.PgBouncer config ↗GitHub - pgdogdev/pgdog: PostgreSQL connection pooler, load balancer ... ↗