Adding a new column should not slow a schema migration or stall a release. The wrong approach means downtime, lock contention, or silent data corruption. The right approach makes it part of your workflow without risk.
A new column in a relational database holds structured data with consistent types and constraints. In SQL, this means defining it with ALTER TABLE ... ADD COLUMN. But the process is not as simple as adding a line of code. Engines like PostgreSQL, MySQL, and MariaDB handle new columns differently under the hood. Some operations rewrite the whole table. Others are metadata-only changes. Knowing the difference saves hours—or days—of degraded performance.
For PostgreSQL, adding a new column without a default value is fast. It just updates the table schema metadata. Adding a default value, however, forces a table rewrite in older versions. PostgreSQL 11+ can store the default value in the metadata for instant operations, but only in specific cases. In MySQL, ALTER TABLE ... ADD COLUMN often copies the table unless you use ALGORITHM=INPLACE or ALGORITHM=INSTANT available in newer releases.