Wprowadzenie
PostgreSQL to darmowy i otwarty system zarządzania bazą danych, który może być wykorzystywany do przechowywania informacji związanych ze stronami internetowymi. Jest również znany jako Postgres. Samo oprogramowanie zawiera wysoce wydajną obiektowo-relacyjną bazę danych, która jest dobrze dostosowana do dużych baz danych i aplikacji internetowych.
Biorąc to pod uwagę, jednym z najważniejszych zadań każdego administratora bazy danych jest regularne tworzenie kopii zapasowych ich baz danych. Tutaj dowiesz się, jak wykonać kopię zapasową i przywrócić bazę danych PostgreSQL na Ubuntu 16.04.
Wymagania wstępne
	- Serwer z systemem Ubuntu 16.04.
- Użytkownik inny niż root z uprawnieniami sudo.
Krok 1: Zaktualizuj pakiety systemowe
Przed rozpoczęciem zaktualizuj pakiety na swoim serwerze.
sudo apt-get update -y
sudo apt-get upgrade -y
Krok 2: Zainstaluj PostgreSQL
Na szczęście PostgreSQL jest dostępny w repozytorium Ubuntu 16.04. Możesz go łatwo zainstalować za pomocą następującego polecenia.
sudo apt-get install postgresql postgresql-contrib
Po zakończeniu instalacji utworzy użytkownika o nazwie postgresz rolą postgres. postgresZostanie również utworzone konto systemowe o nazwie .
Uruchom postgresqlusługę i włącz ją podczas uruchamiania.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Krok 3: Instrukcje tworzenia kopii zapasowej
PostgreSQL zawiera narzędzie pg_dumpdo tworzenia kopii zapasowych informacji z bazy danych do pliku.
Możesz uruchomić to narzędzie z interfejsu wiersza poleceń. Na przykład jeśli chcesz wykonać kopię zapasową pojedynczej bazy danych, uruchom następującą komendę:
sudo pg_dump -U user_name database_name > backup_file
Uwaga: Komenda musi być uruchomiona jako administrator.
Możesz także wykonać kopię zapasową bazy danych, logując się jako postgresużytkownik.
sudo su - postgres
pg_dump postgres > postgres.bak
Powyższe polecenie wykona kopię zapasową domyślnej bazy danych o nazwie postgres.
Możesz także wykonać kopię zapasową zdalnej bazy danych.
pg_dump -U user_name -h remote_ip_address -p remote_port database_name > backup_file
Jeśli chcesz wykonać kopię zapasową wszystkich baz danych w systemie, to pg_dumpalljest używany.
sudo pg_dumpall -U user_name > backup_file
Krok 4: Przywróć instrukcje
Możesz przywrócić bazę danych utworzoną za pg_dumppomocą polecenia za pomocą psqlpolecenia.
Najpierw utwórz pustą bazę danych za pomocą name new_database.
sudo -u postgres psql
createdb -T template0 new_database
Następnie przekieruj zrzut bazy danych wywołany backup_fileza pomocą następującego polecenia:
psql new_database < backup_file
Jeśli chcesz natychmiast zatrzymać proces przywracania po wystąpieniu błędu, uruchom następującą komendę:
psql --set ON_ERROR_STOP=on new_database < backup_file
Możesz przywrócić bazy danych utworzone przez pg_dumpallpolecenie, przekazując plik do psql.
psql -U user_name -f backup_file   
Wniosek
Masz teraz wystarczającą wiedzę do tworzenia kopii zapasowych i przywracania baz danych PostgreSQL. Ważne jest, aby regularnie wykonywać kopie zapasowe, ponieważ są one przydatne w odzyskiwaniu systemu.