# Database Backup & Recovery {#database-backup--recovery}


Strategies for backing up and restoring the Gauzy database.


## PostgreSQL Backup {#postgresql-backup}



### Automated Daily Backups {#automated-daily-backups}


```bash
# Cron job for daily backups at 2 AM
0 2 * * * pg_dump -h localhost -U postgres gauzy | gzip > /backups/gauzy_$(date +\%Y\%m\%d).sql.gz
```


### Manual Backup {#manual-backup}


```bash
pg_dump -h $DB_HOST -U $DB_USER -d $DB_NAME -F c -f gauzy_backup.dump
```


### Point-in-Time Recovery {#point-in-time-recovery}


Enable WAL archiving for PITR:

```bash
# postgresql.conf
wal_level = replica
archive_mode = on
archive_command = 'cp %p /wal_archive/%f'
```


## SQLite Backup {#sqlite-backup}


For development/small deployments using SQLite:

```bash
sqlite3 gauzy.sqlite3 ".backup 'gauzy_backup.sqlite3'"
```


## Restore Procedure {#restore-procedure}


```bash
# PostgreSQL restore
pg_restore -h $DB_HOST -U $DB_USER -d $DB_NAME -c gauzy_backup.dump

# If using SQL format
psql -h $DB_HOST -U $DB_USER -d $DB_NAME < gauzy_backup.sql
```


## Backup Checklist {#backup-checklist}


- [ ] Automated daily backups configured
- [ ] Backups stored off-site (S3, GCS)
- [ ] Retention policy set (30 days recommended)
- [ ] Restore procedure tested monthly
- [ ] File storage (uploads) backed up separately


## Related Pages {#related-pages}


- [Production Deployment](https://sourcey-gauzy.pages.dev/devops/production-deployment/index.md) — deployment setup
- [Scaling & High Availability](https://sourcey-gauzy.pages.dev/devops/scaling/index.md) — HA architecture
