Adding a new column to a database table is a small change with big consequences. Schema changes touch live systems. They can block writes, slow queries, and lock tables. Done poorly, they cause downtime. Done well, they roll out clean, fast, and safe.
Start with the purpose. Define exactly why the new column exists. Choose the correct data type from the start. Changing types later risks full-table rewrites. Keep the default value clear. In most systems, adding a column with a default triggers a rewrite for every row. If you want zero downtime, avoid defaults at creation and backfill asynchronously.
On PostgreSQL, ALTER TABLE ... ADD COLUMN is fast for a nullable column without a default. For MySQL, beware of versions before 8.0.12 that lock the table during the operation. Test on a copy of production data. Measure the impact on indexes, replication lag, and query performance.