Backup Monitoring¶
Scheduled backups tell you what should happen. Monitoring tells you when it stopped happening. This page covers the Monitoring tab of a PostgreSQL database (Muppy / PostgreSQL / Databases, then the Monitoring tab).
The two toggles do different things¶
This is the distinction to get right, because the two options sit side by side and both relate to backup health:
| Option | Sends a notification | Shows on the dashboard |
|---|---|---|
| Enable monitoring ? | Yes | No |
| Pin to Dashboard | No | Yes |
Only Enable monitoring ? notifies. Pinning a database adds it to the backup dashboard,
where a red badge marks a missing or outdated backup — but nobody is alerted. It is a screen
you have to go and look at.
The two are independent. A database can be pinned without being monitored (visible, silent), monitored without being pinned (alerts you, not on the dashboard), or both.
Tip
If you want to be told when a backup stops, tick Enable monitoring ?. Ticking only Pin to Dashboard is a common mistake — it looks like monitoring, and it never fires.
What triggers a notification¶
A health check named pg_dump Monitoring runs every hour and notifies in two cases:
- The last backup is too old — older than
PG Dump Max Age, plus one hour of tolerance. With the default of 24 hours, a database backed up nightly alerts once it passes 25 hours without a backup. - The database has no backup at all — no dump has ever been recorded for it.
The second case matters more than the first: a database that was never backed up is worse than one whose backup is a day late.
PG Dump Max Age is used at both ends¶
The field is a duration in hours, and it drives two different behaviours:
- As a ceiling — the health check alerts when the last backup is older than this value (plus one hour of tolerance).
- As a floor — a scheduled backup that enables the execution debounce is skipped when a backup younger than half this value already exists. This is what stops a stalled queue from replaying days of backups at once when it catches up.
Raising it widens the skip window too
The two effects move together. Set PG Dump Max Age to 100 hours to be more tolerant on
alerting, and the skip floor becomes 50 hours — a nightly backup would then only actually
run every third night. Keep the value close to your real backup interval.
Which databases can be monitored¶
The Monitoring tab is available for databases whose Qualifier places them in the Production, Staging, Test or Development categories.
Development databases are included on purpose: a dev database can hold work nobody can reproduce — a hand-populated dataset built over days — which makes it an asset whatever its category says. The category decides what is offered by default; it does not decide what is worth protecting.
Databases with no qualifier at all do not offer the tab. Set a Qualifier first.
Before you enable it¶
Check that the database is actually within the scope of a scheduled backup. Monitoring a
database that no Task Run covers — or one explicitly listed in the backup's
excluded_db_names — turns into an alert every hour for a situation that is intentional.
See Scheduled Backups for how that scope is configured.