00 /What You Will Learn
By the end you will be able to
- Identify why naive in-place column renames cause immediate application outages during rolling deployments.
- Execute Phase 1 (Expand) by adding nullable columns with sub-millisecond catalog locks.
- Deploy Phase 2 (Dual-Write) synchronization triggers to keep legacy and modern columns identical.
- Run Phase 3 (Batched Backfill) to update millions of rows in indexed chunks without table-level write lockouts.
- Enforce non-null column integrity safely in Phase 4 using NOT VALID and VALIDATE CONSTRAINT without exclusive locks.
- Complete Phase 5 (Contract) by dropping synchronization triggers and retiring deprecated columns cleanly.
Before you start
Finish Lab 04 (SQL Basics with PostgreSQL) and Lab 24 (Relational Transactions & ACID Isolation Levels) first. You should understand SQL transactions, primary key indices, and how concurrent client connections query a database. Docker Desktop must be running.