- Monthly (automated, verify): cron creates partitions N+2 for all designated tables; check job green + partitions exist (
\d+ core.tracked_events). - DEFAULT partition alert fires: rows landed outside ranges ⇒ a partition wasn’t created or bad occurred_at. Create missing partition, move rows, find producer bug, add test.
- Retention cycle (per tenant plan): export partition → Storage
exports/{tenant}/{table}/{yyyymm}.ndjson.gz→ checksum → verify readable → DROP partition → record in audit_log (system actor). - pg_partman spike result: [pending] if available on Supabase, migrate creation/retention to partman config and simplify steps 1–3.
- Restore request: locate export in Storage → load into
restore_{table}staging → hand to tenant-restore runbook.
Runbook — Partition Management
- Monthly (automated, verify): cron creates partitions N+2 for all designated tables; check job green + partitions exist (\d+ core.tracked_events). 2.
⌘I