Always Online or Bust
summary
Shows a full, zero-downtime upgrade path from Postgres 16 to 17 for a three‑node HA cluster using logical replication and a schema-only pg_dumpall --schema-only bootstrap, including creating publications/subscriptions, extracting and later setting sequence values (sequences are not replicated), and a final cutover using disable_on_error during initial sync. Covers pitfalls with Patroni and containers, the surprising scale example (56 TB upgraded with pg_upgrade in under five minutes), and an option to use PG Bouncer pause/resume for near-instant switchovers.
AI-written summary · about
chapters (14)
- 0:00Zero-downtime PostgreSQL upgrades
- 2:26Dump and restore method
- 7:22pg_upgrade for faster upgrades
- 9:50pg_upgrade limitations
- 13:28Logical replication for upgrades
- 23:04Logical upgrade procedure
- 27:08Sequences in logical replication
- 33:30Upgrade validation
- 35:16Switch traffic steps
- 37:03pg_bouncer traffic redirection
- 42:40Batch processing upgrades
- 45:30Patroni logical replication issues
- 50:51Rolling upgrades with active-active
- 54:04Q&A
related talks
50mAn ultimate guide to upgrading your PostgreSQL installation
36mHow to Upgrade Replication Clusters without Downtime?
46mAn ultimate guide to upgrading your PostgreSQL installation
32mPostgreSQL Major Upgrades: Swapping the Elephant Without Breaking the Room
49mHow we execute PG major upgrades at GitLab, with zero downtime.
41mOnline Upgrade of replication clusters without downtime
26mMastering Large-Scale PostgreSQL Migration
32mPostgreSQL The Hard Way
