Manual Backups
Create on-demand backups for additional data protection.
Overview
Manual backups supplement automated daily backups:
- Create before deployments
- Create before destructive operations
- Create for archival purposes
Creating Manual Backups
Via CLI
postbase cloud backups create -p myapp -d productionOutput:
Creating backup for production...
✓ Backup created
ID: bkp_ManualXyz123
Status: pending
Size: Calculating...
Monitor progress with:
postbase cloud backups info bkp_ManualXyz123 -p myapp -d productionVia API
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
https://api.postbase.sh/projects/myapp/databases/production/backupsManual Backup Limits
| Tier | Limit | Retention |
|---|---|---|
| Free | 1 backup | 7 days |
| Pro | Unlimited | 90 days |
If at limit, delete an existing manual backup first:
postbase cloud backups delete bkp_OldBackup -p myapp -d productionChecking Backup Status
Immediate Status
postbase cloud backups info bkp_ManualXyz123 -p myapp -d productionOutput:
Backup Details
ID: bkp_ManualXyz123
Type: manual
Status: in_progress
Created: 2026-01-25 14:30:00 UTC
Progress: 45%
Estimated completion: ~2 minutesCompleted Status
Backup Details
ID: bkp_ManualXyz123
Type: manual
Status: completed
Size: 12.5 MB
Database: production
Created: 2026-01-25 14:30:00 UTC
Expires: 2026-02-01 14:30:00 UTC
Duration: 45 secondsPre-Deployment Backups
Best practice: Create backup before major changes.
# 1. Create backup
postbase cloud backups create -p myapp -d production
# 2. Wait for completion
postbase cloud backups list -p myapp -d production --watch
# 3. Note the backup ID
BACKUP_ID=bkp_ManualXyz123
# 4. Deploy changes
npm run deploy
# 5. Run migrations
postbase migrate up
# 6. If issues, restore
postbase cloud backups restore $BACKUP_ID -p myapp -d production --forceDownloading Manual Backups
CLI Download
postbase cloud backups download bkp_ManualXyz123 \
-p myapp -d production \
-o ./manual-backup-2026-01-25.dumpGet Download URL
postbase cloud backups download-url bkp_ManualXyz123 \
-p myapp -d productionURL valid for 1 hour.
Restoring from Manual Backup
# Restore with confirmation
postbase cloud backups restore bkp_ManualXyz123 -p myapp -d production
# Restore without confirmation
postbase cloud backups restore bkp_ManualXyz123 -p myapp -d production --forceDeleting Manual Backups
# Delete with confirmation
postbase cloud backups delete bkp_ManualXyz123 -p myapp -d production
# Force delete
postbase cloud backups delete bkp_ManualXyz123 -p myapp -d production --forceOnly manual backups can be deleted. Automated backups expire automatically.
Listing All Backups
# All backups
postbase cloud backups list -p myapp -d production
# Only manual
postbase cloud backups list -p myapp -d production --type manual
# Only automated
postbase cloud backups list -p myapp -d production --type automatedUse Cases
Before Schema Migration
# Create safety backup
postbase cloud backups create -p myapp -d production
# Run migration
postbase migrate up --database-url $PROD_URL
# If migration fails
postbase cloud backups restore $BACKUP_ID -p myapp -d production --force
postbase migrate down --database-url $PROD_URL # Fix and retryBefore Data Import
# Backup before import
postbase cloud backups create -p myapp -d production
# Import data
psql $PROD_URL < large_import.sql
# If import corrupted data
postbase cloud backups restore $BACKUP_ID -p myapp -d production --forceArchival/Compliance
# Create monthly archive
postbase cloud backups create -p myapp -d production
# Download for off-site storage
postbase cloud backups download bkp_Archive \
-p myapp -d production \
-o ./archive-$(date +%Y-%m).dump
# Upload to cold storage
aws s3 cp ./archive-2026-01.dump s3://my-cold-storage/backups/Best Practices
- Create before deployments - Always have a rollback point
- Don't rely on single backup - PITR provides continuous protection
- Test restores - Regularly verify backups are restorable
- Monitor quotas - Delete old manual backups to stay within limits
- Download for compliance - Keep off-site copies for regulations