Status page & incident communication database schema

How a public status page is modelled: a component hierarchy with status history, incidents and severities, the timestamped public timeline, scheduled maintenance windows, email and webhook subscribers with delivery tracking, uptime samples, computed uptime and postmortems.

Status Page ER diagram

Status page & incident communication database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 11 n1 n1 n1 n1 n1 n1 components idBIGINT parent_idBIGINT slugVARCHAR nameVARCHAR descriptionVARCHAR is_groupBOOLEAN display_orderSMALLINT current_statusVARCHAR status_changed_atTIMESTAMPTZ is_publicBOOLEAN show_uptimeBOOLEAN component_status_hi… idBIGINT component_idBIGINT statusVARCHAR started_atTIMESTAMPTZ ended_atTIMESTAMPTZ causeVARCHAR incident_idBIGINT incidents idBIGINT slugVARCHAR titleVARCHAR severityVARCHAR statusVARCHAR detected_byVARCHAR started_atTIMESTAMPTZ declared_atTIMESTAMPTZ resolved_atTIMESTAMPTZ is_publicBOOLEAN incident_components incident_idBIGINT component_idBIGINT impact_statusVARCHAR added_atTIMESTAMPTZ scheduled_maintenan… idBIGINT slugVARCHAR titleVARCHAR descriptionTEXT statusVARCHAR scheduled_start_atTIMESTAMPTZ scheduled_end_atTIMESTAMPTZ actual_start_atTIMESTAMPTZ actual_end_atTIMESTAMPTZ notify_hours_befo…SMALLINT auto_transitionBOOLEAN maintenance_compone… maintenance_idBIGINT component_idBIGINT expected_impactVARCHAR status_updates idBIGINT incident_idBIGINT maintenance_idBIGINT update_statusVARCHAR bodyTEXT posted_atTIMESTAMPTZ posted_byVARCHAR notify_subscribersBOOLEAN is_publicBOOLEAN postmortems idBIGINT incident_idBIGINT published_atTIMESTAMPTZ summaryTEXT root_causeTEXT resolutionTEXT action_itemsJSONB is_publicBOOLEAN subscribers idBIGINT channelVARCHAR addressVARCHAR verified_atTIMESTAMPTZ unsubscribe_tokenVARCHAR statusVARCHAR localeVARCHAR created_atTIMESTAMPTZ subscriber_componen… subscriber_idBIGINT component_idBIGINT created_atTIMESTAMPTZ notification_delive… idBIGINT status_update_idBIGINT subscriber_idBIGINT channelVARCHAR statusVARCHAR attempt_countSMALLINT last_attempt_atTIMESTAMPTZ delivered_atTIMESTAMPTZ provider_message_…VARCHAR error_detailVARCHAR uptime_samples idBIGINT component_idBIGINT checked_atTIMESTAMPTZ is_upBOOLEAN latency_msINTEGER http_statusSMALLINT regionVARCHAR error_detailVARCHAR uptime_daily component_idBIGINT dayDATE up_secondsINTEGER degraded_secondsINTEGER down_secondsINTEGER maintenance_secon…INTEGER uptime_pctNUMERIC sample_countINTEGER

Related database schemas