Jak tworzyć kopię zapasową i przywrócić bazę danych PostgreSQL (5 wskazówek)

Jak tworzyć kopię zapasową i przywrócić bazę danych PostgreSQL (5 wskazówek)

PostgreSQL Serwer bazy danych (znany również jako Postgres) to system zarządzania bazą danych. Serwer Postgres zapewnia PSQL, PG_DUMP I PG_DUMPALL Narzędzia wiersza poleceń do tworzenia kopii zapasowych i przywracania baz danych.

W tym artykule opisano różne sposoby korzystania z PG_DUMP polecenie do tworzenia kopii zapasowych bazy danych. Dowiesz się także, jak przywrócić kopię zapasową bazy danych Postgres za pośrednictwem wiersza poleceń.

Baza danych kopii zapasowej i przywracania w Postgres

Poniżej znajdują się opcje połączeń, których można użyć do podłączania zdalnego serwera lub uwierzytelnionego serwera ze wszystkimi zapytaniami podanymi w tym artykule.

  • -d, - -dbname = dbname Nazwa bazy danych
  • -H, - -host = nazwa hosta nazwa hosta serwera bazy danych lub IP
  • -P, --port = port Numer portu serwera bazy danych (domyślnie: 5432)
  • -U, --username = nazwa Podłącz jako określony użytkownik bazy danych
  • -W, - -Password wymuszaj monit hasła
  • --Rola = rolename Ustaw rolę przed zrzuceniem

1. Pojedyncza baza danych PostgreSQL

  • Kopia zapasowa Pojedyncza baza danych na serwerze PostgreSQL. Użyj opcji linii comamnd „-D”, aby podać nazwę bazy danych do polecenia pg_dump. Pamiętaj, aby zastąpić swoją nazwę bazy danych zamiast MYDB.
    PG_DUMP -h localhost -u postgres -w -d mydb> mydb.SQL  
  • Przywrócić Pojedyncza baza danych z kopii zapasowej w PostgreSQL. Po prostu użyj polecenia „PSQL”, aby przywrócić bazę danych PostgreSQL.
    psql -h localhost -u postgres -w -d mydb < mydb.sql  

2. Kopia zapasowa PostgreSQL wszystkie bazy danych

  • Kopia zapasowa Wszystkie bazy danych w PostgreSQL za pomocą PG_DUMPALL pożytek.
    PG_DUMPALL -H localHost -u Postgres -w> alldbs.SQL  
  • Przywrócić: Cała kopia zapasowa bazy danych za pomocą następującego polecenia.
    psql -h localhost -u postgres -w < alldbs.sql  

3. PostgreSQL Backup Single Table

  • Kopia zapasowa: pojedyncza tabela o nazwie MyTable z bazy danych MYDB.
    PG_DUMP -h localHost -u Postgres -d mydb -w -t table_1> mydb -table_1.SQL  
  • Przywrócić: Kopia zapasowa pojedynczej tabeli do bazy danych. Upewnij się, że plik kopii zapasowej zawiera tylko kopię zapasową w tabeli, którą chcesz przywrócić.
    psql -h localhost -u postgres -w -d mydb < mydb-table_1.sql  

4. Baza danych skompresowanej i przywracania bazy danych

  • Kopia zapasowa Baza danych PostgreSQL w formacie sprężonym. Użyj narzędzia wiersza poleceń GZIP, aby przyjąć dane kopii zapasowej i wykonaj plik archiwalny.
    PG_DUMP -H LocalHost -u Postgres -w -d mydb | gzip> mydb.SQL.GZ  
  • Przywrócić Baza danych z kompresowanego pliku kopii zapasowej. Tutaj Gunzip wyodrębnie plik kopii zapasowej i wyśle ​​dane do polecenia PSQL za pośrednictwem interfejsu rurowego.
    Gunzip -C mydb.SQL.GZ | psql -h localhost -u postgres -w -d mydb  

5. Podzielone kopie zapasowe w wielu plikach i przywróć

  • Kopia zapasowa: Baza danych PostgreSQL i podzielona kopia zapasowa w wielu plikach o określonym rozmiarze. Pomaga nam wykonać kopię zapasową dużej bazy danych i łatwo przenieść się do innego hosta. Zgodnie z poniższym przykładem podzieli pliki kopii zapasowych o wielkości 100 MB.
    PG_DUMP -H LocalHost -u Postgres -w -d mydb | split -b 100m - mydb.PQL  
  • Przywrócić: Kopia zapasowa bazy danych z wielu roztargowanych plików kopii zapasowych.
    Cat mydb.SQL* | psql -h localhost -u postgres -w -d mydb  
  • Kopia zapasowa: baza danych w skompresowanych, podzielonych plikach o określonym rozmiarze.
    PG_DUMP -H LocalHost -u Postgres -w -d mydb | gzip | split -b 100m - mydb.SQL.GZ  
  • Przywrócić: baza danych z wielu plików kompresowanych plików.
    Cat mydb.SQL.GZ* | Gunzip | psql -h localhost -u postgres -w -d mydb  

Wniosek

W tym samouczku dowiedziałeś się o tworzeniu kopii zapasowych i przywracaniu bazy danych PostgreSQL Server, tabele.