Adding a new column sounds simple. In practice, it can break deployments, lock tables, and cause downtime. The key is speed without sacrificing data integrity. Modern databases give you multiple ways to add a column, but the right method depends on size, concurrency, and criticality.
In PostgreSQL, ALTER TABLE ADD COLUMN is instant for small datasets but can be costly for large tables. If you add a column with a default value, older versions rewrite the table, blocking writes. Newer versions defer the default fill until reads demand it. MySQL has a similar pattern, but with Online DDL operations you can add columns without blocking reads or writes in many cases. In production, always test execution plans and monitor I/O during the change.
For distributed systems like CockroachDB, adding a new column is non-blocking by design, but latent writes or schema propagation can still cause unexpected lag. Always verify schema changes have reached every node before shipping code that depends on the new column.