5.10.2. Kopia zapasowa zawartości bazy danych ("backup & restore").

Naciśnięciem klawisza End można wykonać kopię zapasową bazy danych. Jak łatwo się przekonać, zawartość bazy zostanie zapamiętana w pliku nazwa_bazy-*data*.pgdump.gz (np. sales-20020211.pgdump.gz). Możliwość dokonywania backupu w sieci ograniczono - ze względów bezpieczeństwa - do sieci lokalnej (nie da się wykonać backupu podczas zdalnej pracy w sieci rozległej).

A jak wykonać "restore"? Trywialnie proste:
  1. Logujemy się jako użytkownik postgres.
    Dodatkowo: jeśli korzystamy z dystrybucji, która ma pakiety Postgresa zezwalające na zakładanie baz wyłącznie z kodowaniem UTF-8 (np. Ubuntu), w tym momencie w wierszu poleceń wpisujemy:
    export PGCLIENTENCODING=LATIN2
  2. Zakładamy bazę, którą chcemy odtworzyć, poprzez:
    createdb -E LATIN2 -e nowa_nazwa_bazy
    (to nie musi być ta sama nazwa, pod którą ta baza figurowała poprzednio).
    (Uwaga: w w/w „przypadku UTF-8” pomijamy oczywiście owo -E LATIN2)
  3. Wykonujemy cat sales-20030120.pgdump.gz | gunzip | psql nowa_nazwa_bazy
To wszystko! Zawartość bazy danych została odtworzona, także i uprawnienia jej dotychczasowych (tych, którzy mieli uprawnienia przed momentem wykonania kopii zapasowej) użytkowników.

UWAGA: w przypadku odtwarzania bazy (a nie zakładania nowej) NIE NALEŻY zakładać przed operacją "restore" tabel bazy danych przez opisane wcześniej wywołanie typu smabi /tabele. Taka operacja (utworzenie tabel w "świeżej" bazie, a potem "nałożenie" na nią zawartości "starej" operacją "restore") może spowodować w efekcie powstanie drobnych - wydawałoby się - błędów w zawartości bazy (chodzi głównie o liczniki sekwencyjne), a w efekcie znaczne utrudnienie, bądź uniemożliwienie korzystania z jej zawartości!

Jeżeli faktycznie w bazie, której zawartość chcemy odtworzyć, zostały jednak założone tabele, należy usunąć ją całkowicie poleceniem dropdb nazwa_bazy (robi to, oczywiście, użytkownik postgres). Potem już bez obaw można odtworzyć jej zawartość w sposób opisany powyżej.

Poprzednia strona | Następna strona | Spis treści
Strona główna serwisu programu