Adding a new column is more than an extra field in a table. It changes the shape of your data. It can break queries, invalidate caches, and slow writes. Done wrong, it halts deploys. Done right, it lets features ship without downtime.
The safest way to add a new column in production is in steps. First, create the column with a default null value. This avoids table rewrites in most databases and keeps locks short. Second, backfill data in small batches to prevent load spikes. Third, update application code to write to both the old and new fields if needed. Fourth, switch reads to the new column only after data is complete and verified. Finally, remove obsolete fields.
When adding a new column to PostgreSQL, use ALTER TABLE ... ADD COLUMN with care, but know that certain types, like VARCHAR without defaults, are nearly instant. With MySQL, the storage engine matters; InnoDB operations can be costly unless you use ALGORITHM=INSTANT in versions that support it. In distributed databases, schema changes can ripple across nodes, so monitor replication lag closely.