Adding a new column sounds simple, but in a high-traffic database it can burn you. Lock contention. Long-running migrations. Sudden spikes in CPU and I/O. If the table is large, altering it directly can halt writes and block reads. That means downtime.
The safest path is an online migration. Create the new column in a way that won’t lock the table for the full duration. In PostgreSQL, ALTER TABLE ... ADD COLUMN without a DEFAULT is fast. Adding a default value to an existing column on a big table will rewrite the table and cause a full table lock. Better: add the column empty, backfill in small batches, then set the default for new rows.
In MySQL, choose ALGORITHM=INPLACE when possible. Avoid ALGORITHM=COPY unless you can take downtime. Be aware of version-specific behavior—some features work online only in newer releases.