Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
21.11.2024

Tworzenie kopii zapasowych i odzyskiwanie baz danych PostgreSQL

Bezpieczne kopie zapasowe PostgreSQL na serwerach dedykowanych AlexHost

Dlaczego warto tworzyć kopie zapasowe PostgreSQL na AlexHost? Utrata danych może sparaliżować każdy projekt, ale serwery dedykowaneAlexHost – zniesamowicie szybką pamięcią masową NVMe, pełnym dostępem do roota i ochroną DDoS – oferują solidną podstawę do hostowania i zabezpieczania baz danych PostgreSQL. Niezależnie od tego, czy prowadzisz witrynę WordPress, platformę e-commerce czy niestandardową aplikację, ten przewodnik pokazuje, jak tworzyć kopie zapasowe i przywracać bazy danych PostgreSQL przy użyciu zrzutów SQL, niestandardowych formatów i PITR, a wszystko to zoptymalizowane pod kątem wysokowydajnego środowiska AlexHost.

1. Zrozumienie opcji tworzenia kopii zapasowych PostgreSQL

PostgreSQL zapewnia kilka metod tworzenia kopii zapasowych danych, w tym

  • SQL Dump: Ta metoda tworzy zwykły skrypt SQL bazy danych, który może być użyty do odtworzenia bazy danych.
  • Custom Format Dump: Ta metoda tworzy plik binarny, który może być skompresowany i jest odpowiedni dla dużych baz danych.
  • Kopia zapasowa na poziomie systemu plików: Metoda ta polega na wykonaniu migawki plików bazy danych na dysku, odpowiednia dla dużych baz danych, ale wymagająca większej wiedzy specjalistycznej.
  • Ciągła archiwizacja i odzyskiwanie w czasie (PITR): Ta metoda umożliwia przywrócenie bazy danych do określonego punktu w czasie.

2. Przygotowanie do tworzenia kopii zapasowych

Przed wykonaniem kopii zapasowej upewnij się, że posiadasz niezbędne uprawnienia. Musisz być superużytkownikiem lub właścicielem bazy danych, której kopię zapasową chcesz utworzyć

3. Tworzenie kopii zapasowej bazy danych PostgreSQL

Metoda 1: Korzystanie z pg_dump

Narzędzie pg_dump umożliwia utworzenie kopii zapasowej bazy danych

Krok 1: Otwórz terminal

Uzyskaj dostęp do serwera przez SSH lub bezpośrednio na komputerze

Krok 2: Uruchom polecenie pg_dump

Aby utworzyć zrzut SQL bazy danych, użyj następującego polecenia

###ATP_NOTR_1_CODE_TAG_NOTR_ATP##
  • -U username: Podaj nazwę użytkownika PostgreSQL.
  • -W: Zapytanie o hasło.
  • -F p: Określa format (zwykły skrypt SQL).
  • database_name: Nazwa bazy danych, której kopię zapasową chcesz utworzyć.
  • backup_file.sql: Nazwa pliku wyjściowego kopii zapasowej.
Przykład:
###ATP_NOTR_2_CODE_TAG_NOTR_ATP##

Metoda 2: Użycie pg_dumpall

Jeśli chcesz wykonać kopię zapasową wszystkich baz danych w instancji PostgreSQL, możesz użyć pg_dumpall

###ATP_NOTR_3_CODE_TAG_NOTR_ATP##

4. Tworzenie kopii zapasowej przy użyciu niestandardowego formatu

Aby utworzyć kopię zapasową w niestandardowym formacie, użyj opcji -F c z pg_dump

pg_dump -U username -W -F c database_name > backup_file.dump

Format ten pozwala na łatwiejsze przywracanie i kompresję

5. Przywracanie bazy danych PostgreSQL

Metoda 1: Przywracanie ze zrzutu SQL

Aby przywrócić bazę danych ze zrzutu SQL, użyj polecenia psql

psql -U username -d database_name -f backup_file.sql
  • -d database_name: Nazwa bazy danych, do której mają zostać przywrócone dane.
  • backup_file.sql: Ścieżka do pliku zrzutu SQL.

Metoda 2: Przywracanie z formatu niestandardowego

W przypadku zrzutu w formacie niestandardowym należy użyć polecenia pg_restore

###ATP_NOTR_6_CODE_TAG_NOTR_ATP##
  • Możesz użyć opcji -C, aby utworzyć bazę danych przed przywróceniem, jeśli nie istnieje.

6. Korzystanie z ciągłej archiwizacji i odzyskiwania w czasie (PITR)

Dla zaawansowanych użytkowników PostgreSQL umożliwia ciągłą archiwizację, która wymaga skonfigurowania WAL (Write-Ahead Logging). Metoda ta obejmuje

  1. Ustawienie archiwizacji WAL: Zmodyfikowanie pliku postgresql.conf w celu włączenia archiwizacji WAL
    archive_mode = on archive_command = 'cp %p /path/to/archive/%f'
  2. Wykonywanie podstawowych kopii zapasowych: Użyj pg_basebackup, aby wykonać pełną kopię zapasową bazy danych.
  3. Przywracanie z archiwów WAL: Można przywrócić bazę danych do określonego punktu w czasie przy użyciu podstawowej kopii zapasowej i zarchiwizowanych plików WAL.

Wnioski: Ochrona danych PostgreSQL z AlexHost

Ochrona baz danych PostgreSQL nie podlega negocjacjom, a dedykowane serwery AlexHost ułatwiają to dzięki szybkim kopiom zapasowym i bezpiecznemu przechowywaniu. Użyj pg_dump do szybkiego zrzutu SQL, niestandardowych formatów dla dużych baz danych lub PITR do precyzyjnego odzyskiwania. Automatyzuj za pomocą cron, zabezpieczaj za pomocą UFW i twórz kopie zapasowe poza siedzibą firmy, aby zachować spokój ducha. Dzięki szybkości i obsłudze NVMe AlexHost Twoje dane pozostają bezpieczne, a aplikacje działają – zacznij tworzyć kopie zapasowe już dziś!

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills