Adding a new column to a database table is simple in theory, but the real work is in doing it safely, without downtime, without losing data integrity, and without breaking the application code that depends on it. Each database engine handles schema changes differently. Understand the internals before you deploy.
In PostgreSQL, use ALTER TABLE table_name ADD COLUMN column_name data_type;. By default, this will add the column with a null value for existing rows. If you need a default value, be aware that setting it as NOT NULL with a default on a large table can lock writes. For zero-downtime deployments, first add the column as nullable, backfill the data in batches, then apply constraints.
In MySQL, ALTER TABLE runs as a blocking operation unless configured otherwise. Use ALGORITHM=INPLACE with LOCK=NONE when possible. Test the migration on production-sized data in staging to confirm lock behavior.