PostgreSQL 17 runners are live
All rules

SDB113[medium]Compatibility

View or function changed under clients

Dropping or renaming a view or function used by clients breaks them.

Why it's risky in PostgreSQL

Views and functions are part of your database's interface. Changing their name or signature is a breaking change for any caller.

What triggers it, and the safer way

unsafe.sql
DROP FUNCTION order_total(bigint);
safer.sql
CREATE FUNCTION order_total_v2(bigint) RETURNS numeric LANGUAGE sql AS 'SELECT 0';
-- keep order_total(bigint) until callers move

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 SDB113 <why this is safe here>

Applies to PostgreSQL 14, 15, 16, 17.