Adding a new column sounds trivial. It rarely is. The schema must change. The migration must run. Locks can block writes. Reads can spike CPU. If the table is large, downtime risk grows.
In relational databases like PostgreSQL, MySQL, or MariaDB, a new column can be added with ALTER TABLE. The command is simple. The impact is not. On small tables, it completes instantly. On large production datasets, the operation can block for minutes or hours. Online migrations reduce downtime, but they add operational complexity and resource cost.
When adding a new column with a default value, some engines rewrite the entire table. This can hurt performance and cause outages. To avoid this, add the column without a default, then backfill in batches. After the backfill finishes, apply the default at the schema level.
In distributed SQL systems, adding a new column often involves schema changes across nodes. Schema agreement must be reached before the column is visible to all clients. Plan the rollout and verify replication lag before deploying.