Schema changes look simple until they block writes, lock tables, or chew through terabytes of data. A single ALTER TABLE ADD COLUMN can bring production to a crawl. Downtime, replication lag, and version conflicts stack up. You need a way to add a new column without risking the core of your system.
A new column in SQL sounds trivial. In reality, the operation often triggers a full table rewrite. With millions of rows, that can mean hours of degraded performance. On cloud-managed databases, schema changes can be even slower, and the locks more aggressive. That’s why many teams delay schema changes until they have no choice—and then push them through at 3 a.m.
Online schema change tools solve some of the pain by batching updates or creating shadow tables. You can use pt-online-schema-change, gh-ost, or native features like PostgreSQL’s ADD COLUMN with a default set to null to avoid blocking writes. But each option comes with trade-offs: operational complexity, extra resource usage, or a broken deploy pipeline if you miss a step.