Zálohování PostgreSQL databáze pomocí nástroje pg_dump
Publikováno: 4.7.2012
PostgreSQL je robustní, otevřená opensource databáze a stejně jako jiné databázové stroje (jako např. MySQL), poskytuje nástroje pro vytvoření zálohy.
Následující postupy jsou testovány v distribuci Ubuntu server 12.04.
Přihlášení
Nejprve je nutné přihlásit se ke správnému účtu.
To obstará následující příkaz:
$ sudo su - postgres
Můžete si zobrazit existující databáze:
$ psql -l
Výpis ukončíte klávesou q.
Záloha pomocí pg_dump
Zálohování databáze provedete použitím pg_dump příkazu. V jednom kroku lze vždy zálohovat pouze jednu databázi.
Obecná syntaxe:
pg_dump databaze > Výstupní_soubor
Pro zálohování databáze users použijte následující příkaz:
$ pg_dump users > users.dump.out
Pro obnovení databáze users použijte:
$ psql -d users -f users.dump.out
Další způsob:
$ pg_dump -U postgres users -f users.sql
UPDATE 14.9.2012
$ sudo -u postgres pg_dump users > /home/users.dump.sql
Obnovení:
$ psql -U postgres -d users -f ussrs.sql
Záloha jedné tabulky
Zálohování tabulky groups v databázi users:
$ pg_dump --table groups -U postgres users -f groups.sql
Obnovení:
$ psql -f groups.sql postgres
Použití komprese
$ pg_dump users | gzip -c > users.dump.out.gz
Pro obnovení databáze users použijte:
$ gunzip users.dump.out.gz
$ psql -d users -f users.dump.out
Využití příkazu pg_dumpall
Další možností je příkaz pg_dumpall. Jak název napovídá, příiaz zálohuje všechny databáze najednou.
Použití je následující:
$ pg_dumpall > all.dbs.out
nebo
$ pg_dumpall | gzip -c > all.dbs.out.gz
Pro obnovení ze zálohy použijte:
$ psql -f all.dbs.out postgres