Adding a new column in any production database forces choices. Schema changes can be safe or catastrophic, silent or noisy. Done right, they let you move fast without breaking the data model. Done wrong, they can freeze deploys, lock writes, or cascade outages.
A new column starts simple: ALTER TABLE ADD COLUMN. But in systems under real load, this step is where scripts hang, replicas lag, and CPU burns. It’s not just the command—it’s how it lands in production.
PostgreSQL and MySQL have different performance profiles for new columns. Some versions allow instant adds if defaults are NULL. Others rewrite the whole table if you add defaults or constraints. Splitting the schema migration from the data backfill often reduces risk. Deploy the column first, populate it in batches or via background jobs, then switch the code to use it.