Adding a new column to a production database is common, but the cost of doing it wrong is high. Schema changes in large systems can lock tables, delay queries, or block writes. To keep uptime and correctness, plan each step before you alter a table.
First, confirm why the new column exists. Is it for computed data, a new index target, or to support a feature? Once the reason is clear, choose the right data type and default value. Avoid null defaults if possible. They can cause unnecessary complexity in application logic.
For PostgreSQL, small schema changes are often fast, but adding a column with a non-null default can rewrite the whole table. Use a nullable column first, then backfill in batches, then set the default. In MySQL, adding a column may trigger a table copy, so it’s critical to understand storage engine behavior.