Adding a new column sounds simple. In practice, it can be a turning point for your schema. Done right, it improves flexibility and performance. Done wrong, it locks you into slow queries and clumsy migrations.
A new column changes the contract between your application and its data. Start by defining its purpose with precision. Avoid vague names. Match the data type to the smallest type that works. Align it with indexing plans before pushing to production.
In PostgreSQL, use ALTER TABLE ADD COLUMN with clarity:
ALTER TABLE orders
ADD COLUMN shipped_at TIMESTAMP;
Set defaults only when they are absolute requirements. Backfilling millions of rows at once can cause locks and downtime. For high-traffic systems, stage changes. Add the column, update data in batches, then enforce constraints.