When you add a new column in a relational database, you change the structure of every row in that table. Depending on the database engine, this can be instant or it can lock the table for a dangerous amount of time. In production, careless execution can trigger outages.
Before you run an ALTER TABLE to add a new column, you need to decide its data type, default values, nullability, and indexing. Choosing the wrong type wastes space or limits future use. Adding a NOT NULL column with no default will rewrite every row. On large datasets, this is slow and risky.
For PostgreSQL, adding a nullable column with no default is fast. But adding a default value before version 11 rewrote the table—later versions optimized this path. For MySQL, adding columns to InnoDB tables often causes a full table copy, unless you use instant DDL for formats that support it.