Adding a new column sounds simple. In production, it can be the most dangerous change in your schema. Downtime, table locks, and broken queries wait for the smallest mistake. Whether you use PostgreSQL, MySQL, or a distributed database, the way you create a new column determines if your service keeps running or stops cold.
First, define the column with precision. Choose the name, data type, and nullability before you run anything. Changing these later is harder and riskier than getting them right at the start.
Second, know how your database handles ALTER TABLE ADD COLUMN. Some engines rewrite the whole table. Some block writes. PostgreSQL can add nullable columns instantly, but adding with a default value rewrites all rows. MySQL may lock the table, depending on the storage engine and column definition.
Third, plan for backfilling. Adding a new column is not the end. You must populate it. For large tables, do it in batches to avoid load spikes. Watch query plans to make sure indexes and scans behave as expected.