Postgres Data Freshness Monitoring with Email Alerts

Nodes

1c04dd23-ae91-4772-b6db-e7ce81fc2f717a48708c-bd3b-409b-837b-b599c5bcd7e6+2

Created by

miKevin

Last edited 58 days ago

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

New to n8n?

Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!