Adding a new column is one of the most common schema changes in modern applications. Done right, it’s fast, safe, and invisible to users. Done wrong, it can freeze writes, lock rows, or force full table rewrites that bring production to a halt.
A new column changes how your data is stored and how queries run. Before you create it, define the exact type. Avoid generic types unless you have a clear migration path. Choose defaults carefully—adding a non-null column with no default will fail if any existing row lacks a value.
In relational databases like PostgreSQL or MySQL, online schema change tools make adding a new column less risky. Use ALTER TABLE ADD COLUMN with lightweight defaults when possible. For large tables, break the change into steps: add the column as nullable, backfill in batches, then apply constraints. This avoids locking entire tables and keeps read and write performance stable.