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_dumppg_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.sqlVoorbeeld:
pg_dump mydb > mydb.sqlDit 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.sqlVoorbeeld:
pg_dump -U postgres -h localhost mydb > mydb.sqlAls 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.sqlLet 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.sqlVoorbeeld:
pg_dumpall -U postgres -h localhost > alldbs.sqlVoor 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.dumpVoorbeeld:
pg_dump -Fc -U postgres -h localhost mydb > mydb.dumpOm een database te herstellen vanuit een SQL dump, gebruik je het psql commando:
psql -U username -h hostname -d dbname < dbname.sqlVoorbeeld:
psql -U postgres -h localhost -d mydb < mydb.sqlOm te herstellen vanuit een custom format dump, gebruik je pg_restore:
pg_restore -U username -h hostname -d dbname dbname.dumpVoorbeeld:
pg_restore -U postgres -h localhost -d mydb mydb.dumpDoor 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.shPlan het script met cron (Linux):
crontab -eVoeg een regel toe om het script te plannen (bijvoorbeeld, elke dag om 2 uur 's nachts):
0 2 * * * /path/to/backup.shHet 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