Jak tworzyć kopię zapasową i przywrócić bazę danych PostgreSQL (5 wskazówek)
- 1064
- 8
- Laura Zygmunt
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.
- « Jak zainstalować i używać iptables na CentOS/RHEL 7
- Jak przekazać argumenty wiersza poleceń w skrypcie powłoki »