Mawrooth · RB-MWDB

Supabase PostgreSQL Data Layer — incident runbook

Supabase PostgreSQL Data Layer is monitored by Database health monitor on p95 query latency. It is owned by Data Platform and serves the business services listed below. Use this runbook when an alert fires on this component.

Warning at p95 query latency ≥ 350 ms, critical at ≥ 900 ms. Critical means user-visible impact: page the escalation owner.

dashboard: sim://grafana/mw-dblogs: sim://logs/mw-dbowner: Data Platformrunbook: RB-MWDB

Signals & thresholds

  • Primary metric: p95 query latency (ms)
  • Warning threshold: ≥ 350 ms
  • Critical threshold: ≥ 900 ms
  • Dashboard: sim://grafana/mw-db
  • Log source: sim://logs/mw-db
  • SLA: 99.95% monthly availability
  • SLO: p95 query < 350ms
  • External dependencies: Supabase PostgreSQL / APIs / Realtime

1. Detection

  1. Database health monitor reports p95 query latency at or above the warning threshold for two consecutive evaluation windows.
  2. Operators report slow screens or timeouts for the affected area.

2. Triage

  1. Open sim://grafana/mw-db and compare p95 query latency against the same window yesterday.
  2. Check whether latency is broad or limited to a single tenant, store or endpoint.
  3. Correlate with data-layer latency — a slow database usually shows here first.
  4. Look for a deploy, migration or heavy background job started in the last 30 minutes.

3. Mitigation

  1. Shed avoidable load: pause bulk jobs, exports and scheduled report builds.
  2. Reduce page size / concurrency for the heaviest endpoints.
  3. If a recent deploy correlates, roll it back.
  4. If a single tenant drives the load, throttle that tenant temporarily and inform them.

4. Verification

  1. Confirm p95 query latency has been below the warning threshold for at least 10 minutes.
  2. Confirm the affected business services are healthy on the dashboard.
  3. Confirm no alerts remain open for this component and its downstream consumers.
  4. Spot-check one real end-to-end operation through the affected flow.

5. Rollback / restore

  1. If a deploy caused the incident, roll back to the previous release and re-verify.
  2. If a configuration or threshold change caused it, restore the previous value and record why.
  3. Re-enable any job, feature flag or channel that was paused during mitigation, one at a time.

Escalation path

  • First responder: NOC on duty — acknowledge within 5 minutes.
  • Component owner: Data Platform.
  • Escalation owner (page on critical): Data Platform On-Call.
  • Escalate if the metric is still critical 15 minutes after mitigation, or if data integrity is in doubt.
  • Declare a major incident if two or more critical components are alerting at the same time.

Blast radius — business services affected (13)

Profiles & User SettingsFamily Tree BuilderPerson Profiles & Life ChaptersMarriages & Family BranchesDNA ResultsFamily VideosHistorical SearchIn-App NotificationsPlans & SubscriptionsDiscounts & OffersSupport SLA & QualityTribal Legacy & StoriesInfrastructure Metrics

External dependencies

Supabase PostgreSQL / APIs / Realtime — Primary data plane, RPC and realtime channels

Simulated incidents that exercise this runbook

Database degradation — Postgres latency spike; tree, person and search queries slow across the app.

Reporting notes

  • Record start time, actions taken and recovery time in the incident record.
  • Attach the dashboard screenshot and the dominant error message to the postmortem.
  • Content drafted for the monitoring demo — confirm the exact commands with the owning team before production use.