PostgreSQL Major Upgrades: Swapping the Elephant Without Breaking the Room
summary
Built an automated blue-green upgrade framework that moves ~100 production Postgres instances from 12 to 17 with logical decoding, controlled WAL overlap and connector orchestration; Debezium connectors, replication origins, and PgBouncer pools coordinate to keep CDC and outbox topics continuous with dry‑run and rollback modes. Cutover script (initially bash) achieves the visible switch in ~3 seconds, but EBS lazy‑load prewarming can take 7–12 hours and large monoliths produced up to ~2,000 transient errors during validation.
AI-written summary · about
chapters (11)
- 0:00Introduction and context
- 1:10Speaker introduction and talk overview
- 3:37Blue-green upgrade approach explained
- 8:10CDC and outbox patterns with DBZ
- 12:27Switch-over process and tools
- 16:20Critical gotchas during upgrade
- 20:11Final architecture and orchestration
- 22:39Extending the framework and optimizations
- 24:48Elixir-specific challenges
- 25:51Key takeaways and recommendations
- 26:33Q&A and resources
related talks
01h 41mPostgreSQL Upgrades with Logical Replication & Minimal Downtime
01h 01mAlways Online or Bust
50mAn ultimate guide to upgrading your PostgreSQL installation
26mMastering Large-Scale PostgreSQL Migration
46mAn ultimate guide to upgrading your PostgreSQL installation
50mThe Elephantine Upgrade
32mPostgreSQL The Hard Way
49mKeeping Up with the Times, or How to Upgrade PostgreSQL
