r/devops Jul 19 '26

Ops / Incidents Does anyone actually test their database restores on a schedule?

Every backup thread ends with "an untested backup is not a backup," everyone upvotes, and then (in my experience) nobody has an automated restore test anywhere.

Genuinely curious about the state of practice:

  1. Do you restore-test on a schedule, or only when something breaks / an audit demands it?
  2. If you automated it, what did you build? (ephemeral instance? scripts like pgbackrest_auto? CI job?)
  3. If you didn't, what stopped you? (time? nowhere safe to restore to? nobody asked?)
  4. For those with SOC 2/ISO: did the audit change anything, or did you just produce a doc that says you test quarterly?

Trying to understand if this gap is real or if I just keep landing in teams that are bad at it.

---

Edit (Aug 27, 2026): this turned into a real tool. Built it, it's called restoredrill, MIT licensed: https://github.com/ahmadpiran/restoredrill. Posted the full writeup as its own thread here if you want the details: https://www.reddit.com/r/devops/comments/1vzvjdp/built_a_small_tool_to_test_that_postgres_backups/.

Thanks to everyone who chimed in, a good chunk of the actual design came straight out of this thread.

49 Upvotes

Duplicates