Backups
Stackpad automatically backs up all database and cache services based on your organization’s plan. Backups are stored on European S3-compatible object storage and can be browsed, downloaded, and restored directly from the dashboard.
Backup schedule
| Plan | Frequency | Retention |
|---|---|---|
| Starter | Daily | 7 days |
| Pro | Every 6 hours | 30 days |
| Business | Hourly | 90 days |
How backups work
Stackpad uses the native backup tool for each database type:
| Database | Backup tool | Format |
|---|---|---|
| PostgreSQL | pg_dump | SQL dump |
| MariaDB | mysqldump | SQL dump |
| Redis | BGSAVE | RDB snapshot |
| Valkey | BGSAVE | RDB snapshot |
Backups run inside the database container, so they capture a consistent snapshot. The backup file is uploaded to encrypted S3-compatible storage on European infrastructure.
Per-service backup controls
Configure backup settings per service from the service Settings tab:
- Enable/disable backups — turn backups on or off for individual services
- Backup interval — customize how often backups run
- Retention period — how long to keep backups before automatic cleanup
Viewing backups
- Open your project and select the database service
- Go to the Backups tab
- Browse all backups with timestamp, size, and status
Each backup shows:
- Timestamp — when the backup was created
- Size — compressed backup size
- Status — completed, in progress, or failed
- Type — scheduled or manual
Restoring a backup
One-click restore
The fastest way to restore is directly from the dashboard:
- Go to the Backups tab on the database service
- Find the backup you want to restore
- Click Restore
The restore runs in the background. Your database is temporarily unavailable during the restore process.
Manual restore
You can also download a backup and apply it manually:
- In the Backups tab, click Download on the backup you want
- Enable Public access on the database service (Settings tab)
- Run the restore command:
PostgreSQL
psql "postgresql://user:pass@{serviceId}.db.stackpad.eu:5432/dbname?sslmode=require" < backup.sqlMariaDB
mysql -h {serviceId}.db.stackpad.eu -P 3306 -u user -p --ssl dbname < backup.sql- Disable public access when done
Point-in-time recovery (PostgreSQL)
On Pro plans and above, PostgreSQL supports point-in-time recovery (PITR). Instead of restoring from a periodic snapshot, you can restore to any exact second in time.
PITR uses continuous WAL (Write-Ahead Log) archiving — every database write is archived in real-time. If something goes wrong (bad migration, accidental delete, data corruption), you can roll back to the moment before it happened.
- Enable PITR in the PostgreSQL service Settings
- Go to the Backups tab
- Select Point-in-time restore
- Pick a date and time
- Click Restore
Services with PITR enabled show a PITR badge in the dashboard.
See PostgreSQL for more details on enabling PITR.
Backup retention
| Plan | Maximum retention |
|---|---|
| Starter | 7 days |
| Pro | 14 days |
| Business | 30 days |
| Enterprise | 30 days |
Old backups are automatically cleaned up based on your retention settings.
What’s next?
- PostgreSQL — PostgreSQL-specific configuration and public access
- MariaDB — MariaDB-specific configuration