पाठ 16 / 25

Backing Up and Resetting Data

Data in volumes needs a plan.

Dump, copy, restore

Back up databases with their own tools (pg_dump, mysqldump) run through docker compose exec, or copy a volume's contents with a temporary container. Test restores. For development, seed scripts and fixtures make it easy to reset data with down -v followed by up. Never rely on a single local volume for data you cannot lose.

Dump and restore a database (sketch)

Commands that start containers need a running Docker engine; not run here.

# backup
docker compose exec -T db pg_dump -U shop shop > backup.sql
# restore into a fresh database
docker compose down -v && docker compose up -d db
docker compose exec -T db psql -U shop shop < backup.sql

Script your resets

A make reset or npm run db:reset command that recreates and seeds the database saves everyone time.

त्वरित जाँच: What is the safest way to back up PostgreSQL data in Compose?

  • Rely on docker compose down
  • Copy the container image
  • Use pg_dump through docker compose exec and test the restore
  • Take a screenshot of the data
Answer

Use pg_dump through docker compose exec and test the restore — Use database-aware tools.