Jak używać PG_DUMP na PostgressQL

Jak używać PG_DUMP na PostgressQL

PostgreSQL jest wyposażony w PG_DUMP, wbudowane narzędzie do tworzenia kopii zapasowych baz danych. Umożliwia administratorom tworzenie kopii zapasowych w różnych manierach: pełne, przyrostowe lub ciągłe kopie zapasowe (lokalnie/zdalnie).

W tym przewodniku zaprezentujemy za pomocą PG_DUMP Aby dokonać kopii zapasowych naszych baz danych PostgreSQL.

Wymagania wstępne

Aby wykonać kroki wykazane w tym przewodniku, będziesz potrzebować następujących elementów:

  • Odpowiednio skonfigurowany system Linux. Dowiedz się więcej o instalacji Ubuntu.
  • Najnowsza wersja PostgreSQL zainstalowana i skonfigurowana. Sprawdź instalację i konfigurowanie PostgreSQL na Ubuntu.

Ponadto będziemy również używać przykładowej bazy danych PostgreSQL. Do łatwości użytkowania będę używać phppgadmin, Web Front-end dla PostgreSQL.

Za pomocą PG_DUMP

PG_DUMP Polecenie eksportuje bazę danych w pliku skryptowym (zawierającym polecenia SQL w celu rekonstrukcji bazy danych) lub plik archiwum. Głównym celem tego narzędzia jest tworzenie kopii zapasowych baz danych. Podczas używania PG_DUMP, Baza danych będzie nadal dostępna do odczytów i zapisów.

Zauważ, że PG_DUMP działa tylko z jedną bazą danych.

Jeśli baza danych została wyodrębniona jako skrypt SQL, możesz zaimportować bazę danych do dowolnej innej bazy danych opartej na SQL. Jeśli jednak został wyodrębniony jako plik archiwum, można go przywrócić tylko za pomocą PG_RESTORE narzędzie. Jedna fajna rzecz z PG_RESTORE Czy możesz zdefiniować, jaką część bazy danych należy przywrócić.

Struktura polecenia PG_DUMP

Podstawowa struktura poleceń PG_DUMP wygląda tak:

1
$ PG_DUMP

Eksportowanie bazy danych (jako skrypt SQL)

Jak wcześniej wspomniano, PG_DUMP może eksportować bazę danych w różnych formatach. Aby wyeksportować bazę danych do pliku SQL, użyj następującego polecenia:

1
$ PG_DUMP > .SQL

W tym przykładzie eksportujemy bazę danych dvdental Do Dvdrent-Backup.SQL:

1
$ pg_dump -u postgres dvdrent> dvdrent -backup.SQL

Zauważ, że operacja eksportu zawiedzie, jeśli użytkownik, którego uruchomisz PG_DUMP nie ma zgody na odczytanie bazy danych. Tutaj, ponieważ Postgres jest superuser PostgreSQL, polecenie zostało pomyślnie wykonane.

Eksportowanie bazy danych (jako archiwum TAR)

Następnie wyeksportujemy bazę danych jako archiwum. Poniższe polecenie wyeksportuje je w formacie TAR:

1
$ pg_dump -u postgres -f c dvdrent> dvdrent.smoła

Eksportowanie bazy danych (jako archiwum skompresowane)

Jeśli wyeksportujesz dużą bazę danych, kompresja pomoże w zmniejszeniu rozmiaru pliku. W poniższym przykładzie eksportowana baza danych zostanie skompresowana za pomocą narzędzia GZIP:

1
$ PG_DUMP -u Postgres DvDental | gzip> dvdrent.GZ

Alternatywnie możemy użyć wbudowanej kompresji PG_DUMP Aby skompresować wyjście:

1
$ PG_DUMP -u Postgres - -Compress = 9 dvdrent> dvdrent.smoła

Eksportowanie bazy danych (format katalogu)

Zamiast eksportować bazę danych do jednego pliku, PG_DUMP oferuje opcję zrzucenia go do katalogu.

W poniższym przykładzie wyeksportujemy bazę danych dvdental do katalogu Dvdrent-Backup:

1
$ pg_dump -u postgres -f d dvdrent -f dvdrent -backup/

Eksportowanie wszystkich baz danych

Jeśli chcesz wykonać pełną kopię zapasową PostgreSQL serwer bazy danych, a następnie możesz użyć PG_DUMPALL.

1
$ pg_dumpall -f Full_backup.SQL

Kopia zapasowa będzie zawierać wszystko: role, schematy i dane. Jednakże, PG_DUMPALL umożliwia eksport określonych komponentów.

Poniższe polecenie wyeksportuje tylko role:

1
$ pG_DUMPALL -rolety -tylko -u postgres> all_db_roles.SQL

Następujące polecenie eksportuje tylko schematy:

1
$ pG_DUMPALL - -SCHEMA -TYLKO -U -u Postgres> all_db_schema.SQL

Poniższe polecenie wyeksportuje tylko definicje przestrzeni tabel:

1
$ pG_DUMPALL - -TABLESPACES -TO -U -u Postgres> All_DB_TableSpaces.SQL

Końcowe przemyślenia

W tym przewodniku badaliśmy różne sposoby korzystania z PG_DUMP polecenie do eksportu baz danych z PostgreSQL. Wyeksportowaliśmy przykładową bazę danych jako skrypt SQL i archiwum. Korzystając z PG_DUMPALL, pokazaliśmy również eksport różnych komponentów wszystkich baz danych w PostgreSQL.

PostgreSQL to potężny silnik bazy danych z mnóstwem funkcji. Podkategoria PostgreSQL zawiera liczne przewodniki. Dowiedz się więcej na temat listów użytkowników, upuszczania użytkowników, rozmytych wyszukiwania itp.