Skip to content

Runbook: Database Disaster Recovery & Restore

Runbook: Database Disaster Recovery & Restore

Section titled “Runbook: Database Disaster Recovery & Restore”

Trigger: Database corruption, unintended drop/truncate command, or recovery drill.


  • Identification of target database container or host instance.
  • Verified backup archive (.sql.gz) with SHA-256 integrity check.

Restoration Procedure (PostgreSQL Container Example)

Section titled “Restoration Procedure (PostgreSQL Container Example)”
Terminal window
# Example for Umami stack
cd /opt/umami
docker compose stop umami
Terminal window
# Drop and recreate schema inside database container
docker exec -it <db_container> dropdb -U <db_user> <db_name>
docker exec -it <db_container> createdb -U <db_user> <db_name>
Terminal window
gunzip -c /path/to/backup.sql.gz | docker exec -i <db_container> psql -U <db_user> -d <db_name>

Step 4: Restart Application Stack & Verify

Section titled “Step 4: Restart Application Stack & Verify”
Terminal window
cd /opt/umami
docker compose up -d
docker compose logs -f --tail=50