A new column in a database table is a simple change that can break production, corrupt data, or silently fail if not handled with precision. Adding one is more than writing ALTER TABLE ADD COLUMN. You need to consider schema design, storage implications, data backfills, and application-layer impact.
Start with the data model. Decide if the new column is nullable, has a default value, or needs an index. A nullable column is easy to add, but can lead to inconsistent queries if your code does not handle null checks. Using a default value reduces the risk of nulls, but slows migrations on large tables since the database must update each row.
In PostgreSQL, adding a column with NULL as the default is near-instant. Adding a non-null column with a default triggers a full table rewrite. In MySQL, the story changes: any new column modification in InnoDB can lock writes, so you need to use tools like pt-online-schema-change for large datasets.