Schema changes in live systems can turn simple tasks into dangerous ones. A new column in SQL is more than just an extra field. It changes storage, query plans, indexes, and application code. Each choice—data type, default, nullability—carries consequences for performance and reliability.
In PostgreSQL, ALTER TABLE ADD COLUMN is straightforward but not always cheap. Adding a nullable column without a default is instant. Adding a non-null column with a default rewrites the table and can lock it. MySQL can execute some column additions as metadata-only operations, but not all. For high-traffic systems, these differences decide whether users feel the migration or not.
A new column must also propagate beyond the database. ORMs require schema updates. APIs may need new fields in payloads or responses. Backfills for historical data can strain replicas if not batched or throttled. Every step must be planned, tested, and timed.