Adding a new column sounds simple, but in production systems it can break queries, slow writes, and trigger full table rewrites. The operation you choose depends on your database, migration tooling, and uptime requirements.
In PostgreSQL, ALTER TABLE ADD COLUMN is fast if the column has no default and is nullable. Adding a default forces a rewrite of the entire table, blocking writes until completion. MySQL behaves similarly but may lock the table during the schema change. For column changes at scale, use tools like pt-online-schema-change or gh-ost to update without downtime.
Plan the deployment. First, add the new column in a way that minimizes locks. Then backfill data in small batches. Finally, update application code to read from and write to the new column once populated. This step-by-step approach avoids broken queries and inconsistent state.