Gepubliceerd: 30.07.2024
Het back-uppen van je PostgreSQL databases is een cruciaal onderdeel van databasebeheer, waardoor de veiligheid van gegevens en het gemak van migratie gewaarborgd worden. Deze tutorial begeleidt je door het proces van het maken van SQL dumps voor PostgreSQL databases met behulp van pg_dump
en pg_dumpall
.
Voordat je begint, zorg ervoor dat je het volgende hebt:
pg_dump
pg_dump
is een PostgreSQL hulpprogramma waarmee je een enkele database kunt back-uppen in een bestand met SQL-opdrachten die nodig zijn om de database opnieuw te creëren. Deze tool biedt verschillende opties om het back-upproces aan te passen.
pg_dump
CommandoOm een eenvoudige SQL dump van een database te maken, gebruik je het volgende commando:
pg_dump dbname > dbname.sql
Voorbeeld:
pg_dump mydb > mydb.sql
Dit commando maakt een bestand met de naam mydb.sql
met SQL-opdrachten om de database mydb
opnieuw te creëren.
Als je PostgreSQL server een gebruikersnaam vereist en op een andere host draait, gebruik dan de opties -U
en -h
:
pg_dump -U username -h hostname dbname > dbname.sql
Voorbeeld:
pg_dump -U postgres -h localhost mydb > mydb.sql
Als je PostgreSQL server een wachtwoord vereist, word je gevraagd het in te voeren. Om interactieve prompts te vermijden, kun je de PGPASSWORD
omgevingsvariabele gebruiken:
PGPASSWORD=password pg_dump -U username -h hostname dbname > dbname.sql
Let op: Het gebruik van PGPASSWORD
op de command line kan onveilig zijn. Een veiliger alternatief is het gebruik van een .pgpass
bestand.
Om alle databases in een PostgreSQL cluster te back-uppen, gebruik je het hulpprogramma pg_dumpall
:
pg_dumpall -U username -h hostname > alldbs.sql
Voorbeeld:
pg_dumpall -U postgres -h localhost > alldbs.sql
Voor meer flexibele en efficiënte back-ups gebruik je het custom format met de -Fc
optie. Dit formaat kan worden hersteld met pg_restore
:
pg_dump -Fc dbname > dbname.dump
Voorbeeld:
pg_dump -Fc -U postgres -h localhost mydb > mydb.dump
Om een database te herstellen vanuit een SQL dump, gebruik je het psql
commando:
psql -U username -h hostname -d dbname < dbname.sql
Voorbeeld:
psql -U postgres -h localhost -d mydb < mydb.sql
Om te herstellen vanuit een custom format dump, gebruik je pg_restore
:
pg_restore -U username -h hostname -d dbname dbname.dump
Voorbeeld:
pg_restore -U postgres -h localhost -d mydb mydb.dump
Door back-ups te automatiseren zorg je voor regelmatige gegevensbescherming. Je kunt een shellscript maken en dit plannen met cron (Linux) of Taakplanner (Windows).
Voorbeeld Shell Script:
#!/bin/bash
PGUSER=postgres
PGHOST=localhost
DBNAME=mydb
BACKUP_DIR=/path/to/backup
DATE=$(date +%Y%m%d%H%M%S)
FILENAME=$BACKUP_DIR/$DBNAME-$DATE.dump
pg_dump -Fc -U $PGUSER -h $PGHOST $DBNAME > $FILENAME
Maak het script uitvoerbaar:
chmod +x backup.sh
Plan het script met cron (Linux):
crontab -e
Voeg een regel toe om het script te plannen (bijvoorbeeld, elke dag om 2 uur 's nachts):
0 2 * * * /path/to/backup.sh
Het maken van SQL dumps voor PostgreSQL databases is eenvoudig met pg_dump
en pg_dumpall
. Deze tools bieden flexibele en krachtige opties voor het back-uppen en herstellen van je databases, waardoor je gegevens veilig en gemakkelijk overdraagbaar zijn.
Door deze gids te volgen, zou je in staat moeten zijn om effectief SQL dumps te maken en te beheren voor je PostgreSQL databases. Als je vragen hebt of tegen problemen aanloopt, aarzel dan niet om te vragen!
Recente blog posts