Zero-downtime Postgres major upgrades
Physical2logical + PAUSE/RESUME technique for true zero-downtime, zero-data-loss, reversible Postgres major version upgrades. Battle-tested on mission-critical clusters with dozens of terabytes of datata and 100,000s TPS.
Three critical guarantees
Our solution delivers all three essential characteristics for enterprise-grade major upgrades for Postgres:
- ✅ Zero data loss
- 🔐 Split-brain protection
- ⚡ Zero downtime
The problem
Traditional Postgres major version upgrades require:
- Hours of downtime for multi-terabyte databases
- Complete database shutdown during pg_upgrade
- High-risk rollback procedures if issues arise
- Hard to test and verify procedures for various issues like incompatibilities
- Risks of plan flips and performance regressions after upgrade
Our solution: Four-component approach
A complete system:
- Reliable, safe, battle-proven physical2logical conversion technique
- PgBouncer's PAUSE/RESUME for true zero-downtime connection management
- Reverse replication to allow going back if needed
- Extensive testing before deployment including for plan flips and compatibility issues
Case studies
- GitLab's conference talks about their zero-downtime upgrade experience
- pganalyze technical review of zero-downtime upgrade approaches including our method
- A heavily-loaded cluster on Crunchy Bridge (TBD)
- More cases (TBD)
Get preview access
This solution is fully developed and battle-tested. We're offering preview access to select enterprise customers.