The query runs, and nothing changes. The table is the same. You expected a new column to be there. It isn’t.
Adding a new column should be simple. But in production, it can be dangerous. Bad defaults, blocked writes, downtime from a lock—these risks turn a routine schema change into an outage.
A new column in SQL starts as a definition in an ALTER TABLE statement. Small tables update instantly. Large tables need care. PostgreSQL and MySQL handle schema changes differently. Some operations are metadata-only; others rewrite the table. Measuring table size and knowing the engine’s DDL behavior is the first step.
If you need to backfill data for a new column, avoid massive, single transactions. Batch updates. Watch for replication lag. Keep indexes off until the data load is complete—building an index once is faster than maintaining it on every insert.