MP075WARNINGFree
warn-toast-bloat-risk
What It Detects
UPDATE on TOAST-eligible columns (TEXT/JSONB/BYTEA) causes storage bloat until VACUUM runs.
Why It's Dangerous
When you UPDATE a row with TOAST-stored columns, PostgreSQL creates new TOAST chunks and marks old chunks as dead. Dead chunks are only reclaimed by VACUUM, causing tables to grow many times their logical size.
Bad Example
UPDATE users SET metadata = jsonb_set(metadata, '{key}', '"value"');Good Example
UPDATE users SET metadata = jsonb_set(metadata, '{key}', '"value"');
-- Run VACUUM after bulk TOAST-column updates:
VACUUM (VERBOSE) users;Configuration
Disable this rule:
# .migrationpilotrc.yml rules: MP075: false
Or change its severity:
# .migrationpilotrc.yml
rules:
MP075:
severity: warning