A new column can look trivial in code review. One line in a migration file. A quick ALTER TABLE. But in production, it changes everything. It alters schema integrity, shifts query plans, and forces downstream services to adapt. Each new column has an immediate impact on APIs, ETL jobs, and analytics pipelines.
When you add a new column, think atomic. Specify its type. Decide on nullability. Set a default if needed. Every choice affects how the database writes and reads. Without defaults, older rows stay empty until updated. With defaults, large tables may lock during the migration.
Indexing a new column requires care. A btree index on high-cardinality strings will burn memory and slow inserts. An expression index can help if queries filter on transformed column values. Avoid unnecessary indexes until you see actual query load.