A new column in a database table changes everything. It alters the schema. It affects queries, indexes, and possibly every downstream service. Adding it is not just a DDL command; it is a decision with impact on production, performance, and data integrity.
When you create a new column in SQL, you define the type, default value, and whether it accepts NULLs. A careless choice can break constraints or cause storage bloat. For example:
ALTER TABLE orders
ADD COLUMN processed_at TIMESTAMP NULL;
The command is simple, but what follows is where the real work lives. You must check existing queries. You must review ORM models, API contracts, and data pipelines. If you add a non-nullable column without defaults, large writes can fail instantly.
For online systems, consider adding the column without indexes first, updating data in batches, then adding indexes in a later migration. This avoids long locks on large tables. In Postgres, ALTER TABLE ... ADD COLUMN is fast when defaults are NULL, but slow and blocking when a default is set.