DATA OPS

Postgres Source-Schema Sentinel with PagerDuty Escalation on Breaking Drift

Polls a source Postgres database for column drops and type narrowing, classifies each change as breaking or additive.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule fires every few minutes
  • ActionRead source schema from Postgres information_schemaPostgreSQLPostgres
  • LogicDiff against baseline and classify breaking vs additive
  • ActionOpen PagerDuty incident for breaking driftPagerDutyPagerDuty
  • OutputLog additive changes to SlackSlack

What it does

This sentinel watches a source Postgres database and distinguishes severity. Adding a nullable column is additive and harmless; dropping a column or narrowing a type (e.g. `text` to `varchar(20)`) is breaking. It pages on-call only for breaking drift so dependent ingestion jobs can be halted before they corrupt downstream tables, and records additive changes without waking anyone.

When to use it

Use it when you ingest from an application database you don't control and need genuine on-call signal — not noise — the moment a column your ETL depends on disappears or changes shape.

How it works

  1. 1A schedule fires every few minutes.
  2. 2Query `information_schema.columns` on the source Postgres for the watched tables.
  3. 3Compare to the stored baseline; classify each delta as additive or breaking.
  4. 4Branch on severity: breaking drift takes the escalation path, additive drift takes the log path.
  5. 5Breaking -> open a PagerDuty incident with the table, column, and old/new type.
  6. 6Additive -> post a low-priority note to Slack and update the baseline.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect PostgresAny Postgres URL — query, write, migrate.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.