PostgreSQL 17 runners are live
All rules

SDB803[medium]Execution evidence

Slow statement

A statement ran longer than the threshold at the seeded row count.

Why it's risky in PostgreSQL

Timings are indicative: they come from synthetic rows, not your production data. Long statements usually mean long locks.

What triggers it, and the safer way

unsafe.sql
UPDATE orders SET status = 'archived' WHERE created_at < now() - interval '1 year';
safer.sql
-- Batch large updates (for example 10k rows per statement).

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

Applies to PostgreSQL 14, 15, 16, 17.