{"repo":"ozontech/pg_doorman","free":true,"listed":false,"github":"https://github.com/ozontech/pg_doorman","clone":"git clone https://github.com/ozontech/pg_doorman.git","description":"PostgreSQL Pooler","language":"Rust","stars":265,"topics":["pooler","postgresql","rust"],"license":"MIT","category":"databases-storage","readme_excerpt":"PgDoorman A multithreaded PostgreSQL connection pooler in Rust (MSRV 1.87). Alternative to PgBouncer, Odyssey, and PgCat. In production at Ozon for over three years across Go (pgx), .NET (Npgsql), Python (asyncpg, SQLAlchemy), and Node.js workloads. ## 📖 Full documentation: ozontech.github.io/pg doorman Configuration reference, tutorials, comparison with PgBouncer and Odyssey, benchmarks, deployment guides — all on the documentation site. Available in English and Русский. Quick start Generate a config from your PostgreSQL: Connect and verify: For installation from source, distribution packages (Ubuntu PPA, Fedora COPR), and the tls-migration build, see the Installation guide. Highlights - Multithreaded — one process, one shared pool across all worker threads. - Anonymous prepared statements get plan caching — PgBouncer 1.21+ and Odyssey forward the empty-name Parse unchanged and re-plan on every Bind ; pg doorman remaps it to DOORMAN so the plan lands in the backend's named registry and gets reused across clients sharing the pool. Learn more. - Pool Coordinator — database-level connection cap with priority eviction and per-user minimums. Learn more. - Patroni-assisted fallback — automatic backend rerouting via the Patroni REST API when the local node fails. Learn more. - Graceful binary upgrade — replace the binary without dropping clients; TLS connections migrate cleanly with the tls-migration cargo feature. Learn more. - Built-in observability — Prometheus /metrics with HD","default_branch":null,"files":null,"tree":[],"storefront":"/r/ozontech","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ozontech/pg_doorman/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}