Back to Templates

Postgres Data Freshness Monitoring with Email Alerts

Created by

Created by: Kevin || mieubrisse

Kevin

Last update

Last update a month ago

Categories

Share


Monitor Postgres Data Freshness and Email Alert If Stale

This template monitors a set of tables inside a Postgres database to ensure they're getting updated.

If the table hasn't been updated in 3 days (configurable), an email alert is sent containing the tables that are stale.

Requirements

You must have a Postgres database containing one or more tables that you'd like to monitor.

Each table to monitor must have a date or timestamp column that tracks when data was pushed.

For example, this might be:

  • A timestamp column if your table holds event/timeseries data
  • A last_updated column if your rows are expected to be modified

Usage

  1. Use this template
  2. Add your Postgres and email credentials
  3. Adjust the Produce tables + date columns node to produce pairs of [table, date_column] that should be monitored for freshness
    • 💁‍♂️ Note that a timestamp column also works
  4. (Optional) Adjust the Remove fresh tables node for your desired staleness window (default is 3 days, but you can adjust as you please)
  5. (Optional) Customize the Send alerts node to call whichever alerting workflow you please (I recommend my alerting workflow for easiest plug-and-play)

How it works

This template works by:

  1. Pulling the most recent row for each table
  2. Calculating how out-of-date each table is, in days
  3. Dropping fresh tables that have been updated within the past 3 days
  4. Sending an email alert with the stale tables that haven't been updated within the past 3 days