Adding a new column to a database table seems simple. In practice, it can break queries, slow writes, and block deploys. The wrong approach risks downtime. The right approach keeps production running while the change rolls out.
A new column changes the contract between code and data. Applications dependent on that table may expect the old shape. Before altering the schema, check every service, migration script, and reporting tool. Audit ORM models and raw queries. Even seemingly unused code can still hit the database.
For large datasets, adding a new column with a default value can lock the table. On some engines, this means the table is unavailable until the operation finishes. For PostgreSQL, adding a nullable column without a default is fast. Backfilling values should happen in batches. On MySQL, the storage format decides if the operation is instant or blocking. Always test on a clone of production data to measure the impact.