Adding a new column should be simple. In practice, the wrong approach can lock tables, drop performance, or cause data loss. The challenge is knowing the right method for your database, workload, and deployment pipeline.
A new column changes the schema. That means updating the DDL, handling defaults, and making sure every dependent query, ORM, and API stays aligned. In MySQL and MariaDB, ALTER TABLE ADD COLUMN often rebuilds the entire table. This can be costly on large datasets. PostgreSQL lets you add a new column with a default value without a full lock by adding it as nullable first, then updating in batches.
For production systems with minimal downtime requirements, schema changes must be planned. Use migrations that are idempotent and reversible. Validate on a staging system with mirrored data. Automate ALTER steps with tools like Liquibase or Flyway, but know when a direct SQL statement is faster and safer.