Adding a new column to a production database is simple only if you understand its impact. Schema changes are dangerous when traffic is high and downtime is not an option. The right process prevents data loss, deadlocks, and cache invalidation storms.
A new column can be added online in most modern databases, but the steps differ for PostgreSQL, MySQL, and cloud-managed variants. In PostgreSQL, adding a nullable column without a default is instant. Adding a column with a non-null default rewrites the table, locking reads and writes. MySQL handles this differently, relying on metadata-only changes for certain cases, but not all engines support this.
Before deployment, measure table size, index count, and foreign keys. Check replication lag in multi-node setups. Always run ALTER TABLE commands in development and staging under load simulation. Monitor query plans before and after the change. Adding indexes to the new column at creation can slow migration; adding them separately often reduces risk.