1.4 KiB
1.4 KiB
PostgreSQL Backup Notes
This note applies to deployments that use the PostgreSQL volume defined by the Compose stack, including the Traefik deployment variant.
What Needs Backup
At minimum, back up:
- the PostgreSQL data volume
- the deployment env file that contains the database credentials
For the Traefik deployment variant, that usually means:
- the Docker volume
postgres_data docs/docker-compose-traefik.env
Logical Backup
From the repository root, create a SQL dump with:
./scripts/backup-postgres.sh
To write to a specific file:
./scripts/backup-postgres.sh /path/to/ecospecies-backup.sql
Restore From Logical Backup
Restore a SQL dump with:
./scripts/restore-postgres.sh /path/to/ecospecies-backup.sql
Volume-Level Backup
If the host backup system can snapshot Docker volumes safely, include the PostgreSQL volume in that schedule. A volume snapshot is useful for full recovery, but a logical dump is still recommended for portability and validation.
Operational Guidance
- Run backups on a schedule instead of relying on ad hoc dumps.
- Test restore procedures before relying on the backup policy.
- Keep backup artifacts outside the live Docker host when possible.
- The backup and restore scripts default to
docs/docker-compose-traefik.envanddocs/docker-compose-traefik.yml, but both can be overridden withECOSPECIES_ENV_FILEandECOSPECIES_COMPOSE_FILE.