PostgreSQL backup en restore (Fase 1 MVP)
Doel: bewijs dat je data kunt terugzetten (RPO/RTO worden later strakker gezet).
Vereisten
DATABASE_URLof host/poort/user/wachtwoord van de Postgres die OmniTrack gebruikt.pg_dumpenpsqlgeïnstalleerd (PostgreSQL client tools).
Logische dump (aanbevolen voor kleinere DB’s)
# Eén bestand, custom format (compressie + restore flexibel)
pg_dump "$DATABASE_URL" -Fc -f omnitrack_$(date +%Y%m%d_%H%M).dump
Restore naar een lege database:
pg_restore -d "$DATABASE_URL" --clean --if-exists -v omnitrack_YYYYMMDD_HHMM.dump
Windows (PowerShell)
Docker Compose (lokaal)
Postgres draait als service db; dump vanaf de host gebruikt in deze repo poort 5433 (om conflict met een lokale Postgres op 5432 te vermijden):
set PGPASSWORD=omnitrack
pg_dump -h 127.0.0.1 -p 5433 -U omnitrack -d omnitrack -Fc -f omnitrack_backup.dump
Controle na restore
- Start app + gateway; open
/readyz— moet200endb: truezijn. - Log in en controleer kaart / fleet.
Point-in-time recovery (PITR)
Niet verplicht in Fase 1; voor productie later: WAL-archiving en provider-/Postgres-documentatie volgen.
RTO/RPO en volledige DR
Zie backup-dr-policy-template.md voor een invulbare policy (alle stores, retentie, restore drills).