The query ran, and the database froze. You needed a fix fast. A new column would solve it.
Adding a new column in a production database is simple in theory, but the details decide if it stays simple. Schema changes carry risk. Done wrong, they block writes, slow queries, and lock tables. Done right, they roll out clean with zero downtime.
Start by defining the exact data type for the new column. Match it to the smallest type that fits the data. More precision than necessary wastes memory and slows indexing. If the column will be nullable, consider the defaults. A poorly chosen default can explode table size or break logic in downstream systems.
Use ALTER TABLE carefully. On large tables, it can trigger a full table rewrite. To avoid locks, create the new column in a non-blocking way if your database supports it. In PostgreSQL, adding a nullable column with no default is near-instant. Applying a default and backfilling should be done in small batches to avoid blocking and excessive I/O.