A new column sounds small. It is not. In production systems, adding a column can break queries, trigger full table rewrites, and slow deploys to a crawl. Done right, it extends your data model without downtime. Done wrong, it corrupts data, halts services, and sets off pagers at 3 a.m.
Before adding a new column, confirm the exact type, null constraints, and default values. Avoid implicit casts that rewrite terabytes of data. Use metadata queries to check existing indexes and table size. If the column must be backfilled, stage it with batches and transaction-safe updates.
On PostgreSQL, prefer ADD COLUMN with a DEFAULT only if it’s a lightweight static value. For large datasets, first add it as nullable, backfill in controlled chunks, then apply the default and NOT NULL constraints later. On MySQL, watch for table copy operations in ALTER TABLE. Use ALGORITHM=INPLACE or ONLINE when possible to avoid blocking writes.