ACTIVEFEATURED
High-Performance PostgreSQL Connection Pooler
A lightweight, high-performance connection pooler for PostgreSQL with advanced features like query routing, prepared statement caching, and adaptive pooling.
2023 – 2024
7 highlights
7 technologies
Problem
Standard connection poolers (PgBouncer, PgPool-II) lack modern features: query-level routing, prepared statement lifecycle management, adaptive pool sizing based on workload patterns, and detailed observability.
Architecture
Rust-based proxy server using tokio for async I/O. Implements PostgreSQL wire protocol. Features: query parsing for routing decisions, statement cache with LRU eviction, adaptive pool sizing using PID controller, Prometheus metrics, and distributed tracing.
Technologies
Key Highlights
Challenges
- Implementing full PostgreSQL wire protocol correctly
- Handling prepared statement lifecycle across pool boundaries
- Achieving zero-copy query parsing for routing decisions
- Balancing latency vs throughput in adaptive algorithms
- Ensuring correctness under connection failures and failover
Solutions
- Used property-based testing with protocol specification
- Designed statement cache with generational IDs for invalidation
- Built custom query parser using nom for zero-copy parsing
- Implemented PID controller with workload classification
- Added comprehensive chaos testing in CI pipeline