Adding a new column should be fast, safe, and predictable. Schema changes can be dangerous in production if they block queries or lock writes. The right approach depends on database type, workload, and uptime requirements.
In PostgreSQL, ALTER TABLE with ADD COLUMN is instant if no default value is set. Adding a default non-null value writes to every row, which can lock the table. To avoid downtime, first add the column as nullable, then update in batches.
MySQL can add columns online with ALTER TABLE ... ALGORITHM=INPLACE for certain storage engines. However, large tables may still require a rebuild. Use pt-online-schema-change or native online DDL to avoid blocking.
For distributed databases like CockroachDB, column additions are schema changes propagated across nodes. They are usually non-blocking, but large-scale migrations should still be staged.