An Apache Superset instance contains weeks, months, or years of work: dashboards, datasets, RLS, roles, SQL Lab queries. Everything relies on the PostgreSQL metadata database. Without a robust backup strategy, an incident can erase this capital. This guide details best practices in 2026.
1. What to back up?
| Component | Content | Criticality |
|---|---|---|
| PostgreSQL metadata | Dashboards, datasets, charts, roles, RLS | Critical |
| Redis | Cache + sessions | Low (recreatable) |
| Superset volumes | Uploads, temporary files | Medium |
| Configuration | superset_config.py, secrets | Critical (Git-versioned) |
| Dashboard JSON | YAML/JSON export via CLI | Critical (in addition) |
If you want pre-configured backups, TVL Managed Superset applies this strategy by default on all instances.
2. 3-2-1 strategy
- 3 copies of each critical data;
- 2 different supports (local disk + cloud);
- 1 off-site copy (other region or other provider).
3. PostgreSQL backup
Logical (pg_dump)
# Daily dump
pg_dump -U superset -h db.example.com superset \
| gzip > /backups/superset-$(date +%F).sql.gz
# Restore
gunzip < superset-2026-05-09.sql.gz | psql -U superset -h db.example.com superset
Physical + WAL (PITR)
To be able to restore to the second: pgBackRest, Barman, or WAL-G as a complement. Allows returning to any timestamp within the WAL retention window.
Managed
OVHcloud, RDS, Cloud SQL Postgres include automatic daily backups and PITR. Recommended in production.
4. Complementary dashboard export
In addition to the SQL dump, export dashboards in YAML for Git versioning:
# Export all dashboards
docker exec superset_app superset export-dashboards \
-f /tmp/dashboards.yaml
# Export a specific dashboard
docker exec superset_app superset export-dashboards \
-d 42 -f /tmp/dashboard_42.yaml
Pushing these YAML to a Git repo allows tracking changes and granularly restoring a dashboard.
5. Volumes and object storage
If you have configured file storage (uploads, thumbnails), back up the PVC or S3 bucket:
# Kubernetes PVC via Velero
velero backup create superset-daily \
--include-namespaces superset \
--ttl 720h
6. Frequency and retention
| Type | Frequency | Retention |
|---|---|---|
| WAL streaming | Continuous | 7 days |
| Full dump | Daily | 30 days |
| Full dump | Weekly | 12 weeks |
| Full dump | Monthly | 12 months |
| Dashboard YAML export | On every change | Indefinite (Git) |
7. Off-site storage
- OVH Cold Archive: ~€1/TB/month, read latency but maximum redundancy;
- S3 Glacier Deep Archive: ~$1/TB/month, equivalent;
- Backblaze B2: ~$5/TB/month, fast access;
- Wasabi: ~$6/TB/month, no egress fees.
Always encrypt off-site backups (GPG or KMS-encrypted).
8. Restore testing
An untested backup doesn't exist. Schedule a quarterly exercise:
- Provision a test instance;
- Restore the latest dump;
- Restore a YAML dashboard;
- Verify it displays correctly;
- Document the observed RTO.
This configuration is applied by default on TVL Managed Superset, which follows community best practices.
9. Automation
Recommended tools:
- pgBackRest + cron for Postgres;
- Velero for Kubernetes;
- restic for individual volumes;
- GitHub Actions nightly to export dashboards in YAML.
10. Common pitfalls
- Backup on the same server: server burns, all is lost;
- No encryption: backup leak = entire database leak;
- Restore never tested: discovering on D-day that the dump is corrupt;
- Infinite retention: cloud bill that explodes;
- Cache vs data confusion: Redis generally doesn't need to be backed up.
11. Conclusion
A robust Apache Superset backup strategy combines: managed Postgres with PITR, Git-versioned YAML exports, encrypted off-site storage, and quarterly restore tests. This represents a few setup days, but prevents the irreversible loss of months of work.
Want the benefits of Apache Superset without the friction of installation and maintenance? Deploy your instance in 3 clicks with TVL Managed Superset, hosted in Europe (OVHcloud, Roubaix, France), daily and off-site backups included.
For more: disaster recovery, high availability, production checklist.