SDB111[high]Compatibility
Table renamed
Clients that use the old table name fail after a rename.
Why it's risky in PostgreSQL
Running application instances keep sending queries with the old name during and after the deploy.
Use an expand/contract approach: create a view with the old name, migrate clients, then remove it.
What triggers it, and the safer way
ALTER TABLE orders RENAME TO purchases;CREATE TABLE purchases (LIKE orders INCLUDING ALL);
-- dual-write, backfill, move clients, then drop orders in a later releaseSuppress it when you're sure
Put this comment on the line before the statement. The reason is required and shows in the report.
-- shadowdb:allow SDB111 <why this is safe here>Applies to PostgreSQL 14, 15, 16, 17.