Adding a new column sounds simple, but it can break queries, corrupt data, or block writes if done carelessly. The safest approach is controlled schema evolution: plan, stage, and execute in precise steps.
First, define the new column in a migration script. Always specify defaults explicitly or use NULL to avoid table rewrites on large datasets. In PostgreSQL, adding a column with a default can lock the table. Instead, add the column without a default, backfill in batches, then set the default in a later statement. MySQL and other engines have similar pitfalls.
Second, monitor replication lag if you’re running multiple nodes. Schema changes can stall replicas if they require heavy writes. Test the migration against real data volumes. Use tools like pt-online-schema-change or native database features to run ALTER TABLE operations without full table locks.