PostgreSQL 17 runners are live
All rules

SDB112[high]Compatibility

Column renamed

Clients that use the old column name fail after a rename.

Why it's risky in PostgreSQL

Old application instances still select the old column name until they are replaced.

Add the new column, write to both, backfill, switch reads, then drop the old one.

What triggers it, and the safer way

unsafe.sql
ALTER TABLE users RENAME COLUMN name TO full_name;
safer.sql
ALTER TABLE users ADD COLUMN full_name text;
-- backfill + dual-write in the app, then drop name in a later release

Suppress it when you're sure

Put this comment on the line before the statement. The reason is required and shows in the report.

suppression
-- shadowdb:allow SDB112 <why this is safe here>

Applies to PostgreSQL 14, 15, 16, 17.