Adding a new column sounds simple. In production, it is not. Schema changes can block writes, lock reads, and stall deploys. Done wrong, they burn hours and risk outages. Done right, they are invisible to the user.
A new column in PostgreSQL or MySQL can be instant or not, depending on size, default values, indexing, and transactional safety. Adding a nullable column without defaults is fast. Adding one with a default can rewrite the table and lock it. For terabytes of data, that becomes downtime.
Mitigation starts with the migration plan. Use ALTER TABLE with care. In PostgreSQL, add a nullable column first, then set defaults in a separate, non-blocking step. In MySQL, review storage engines and lock behavior. Avoid unnecessary indexes on initial create; add them after populating the column.