Adding a new column to a live database table can be safe or catastrophic depending on scale, indexes, constraints, and query patterns. On small datasets, the migration is often instant. On large tables, it can lock writes, stall reads, or spike load. The right approach depends on database type, storage engine, and operational requirements.
In MySQL, an ALTER TABLE with ADD COLUMN might rewrite the entire table unless you use ALGORITHM=INPLACE on supported versions. Even then, you must plan for replication lag, watch buffer pool usage, and monitor query performance during the migration.
In PostgreSQL, adding a new column with a default value will rewrite the table in older versions, increasing migration time and I/O. From PostgreSQL 11 onward, adding a column with a constant default is metadata-only. Understanding this difference is critical for uptime.