Adding a new column to a database table looks harmless in review. In production, it can trigger slow queries, replication lag, and even downtime. The impact depends on schema size, engine, and how the change is applied.
In PostgreSQL, ALTER TABLE ADD COLUMN is fast if you add the column without a default. With a default and NOT NULL, the operation rewrites the table. On large datasets, that means blocking writes for minutes or hours. MySQL behaves differently: adding a column can lock the table unless you use ALGORITHM=INPLACE or INSTANT in newer versions. Even “instant” is not universal—supported types and layouts vary.
Beyond size and locking, a new column changes how data flows. It can break ORM mappings, stored procedures, ETL jobs, and cache serialization. If you forget to backfill, downstream systems see nulls. If you backfill in one transaction, you risk contention. The safest path is staged rollout: