PostgreSQL 17 runners are live
All rules

SDB801[high]Execution evidence

Table rewritten during execution

ShadowDB observed the table's storage being rewritten.

Why it's risky in PostgreSQL

The relation got a new storage file while your migration ran, which means every row was copied under a strong lock. This is measured, not predicted.

What triggers it, and the safer way

unsafe.sql
ALTER TABLE events ALTER COLUMN payload TYPE jsonb;
safer.sql
-- Use a new column + backfill instead of an in-place rewrite.

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

Applies to PostgreSQL 14, 15, 16, 17.