Przywracanie elastycznych kopii zapasowych usługi Azure Database for PostgreSQL (wersja zapoznawcza)
W tym artykule wyjaśniono, jak przywrócić kopię zapasową usługi Azure PostgreSQL — flex Server utworzonego przez usługę Azure Backup.
Wymagania wstępne
Przed przywróceniem z kopii zapasowych serwera elastycznego usługi Azure Database for PostgreSQL upewnij się, że masz wymagane uprawnienia do operacji przywracania.
Dane kopii zapasowej są przechowywane w magazynie usługi Backup jako obiekt blob w dzierżawie firmy Microsoft. Podczas operacji przywracania dane kopii zapasowej są kopiowane z jednego konta magazynu do innego między dzierżawami. Upewnij się, że docelowe konto magazynu dla przywracania ma właściwość AllowCrossTenantReplication ustawioną na true.
Przywracanie elastycznej bazy danych Azure PostgreSQL
Wykonaj te kroki:
Przejdź do pozycji Wystąpienia kopii zapasowej magazynu>kopii zapasowych. Wybierz serwer PostgreSQL-Flex, który ma zostać przywrócony, a następnie wybierz pozycję Przywróć.
Alternatywnie przejdź do centrum kopii zapasowej i wybierz pozycję Przywróć.
Wybierz punkt w czasie, który chcesz przywrócić przy użyciu pozycji Wybierz punkt przywracania. Zmień zakres dat, wybierając pozycję Okres.
Wybierz docelowe konto magazynu i kontener na karcie Parametry przywracania. Wybierz pozycję Weryfikuj , aby sprawdzić uprawnienia parametrów przywracania przed ostatecznym przeglądem i przywracaniem.
Po pomyślnym zakończeniu walidacji wybierz pozycję Przejrzyj i przywróć.
Po ostatnim przejrzeniu parametrów wybierz pozycję Przywróć , aby przywrócić wybraną kopię zapasową serwera PostgreSQL-Flex na docelowym koncie magazynu.
Prześlij operację Przywracania i śledź wyzwalane zadanie w obszarze Zadania tworzenia kopii zapasowej.
Po zakończeniu zadania dane kopii zapasowej zostaną przywrócone na koncie magazynu. Poniżej przedstawiono zestaw plików odzyskanych na koncie magazynu po przywróceniu:
Pierwszy plik to plik znacznika lub znacznika czasu, który daje klientowi czas wykonania kopii zapasowej. Nie można przywrócić pliku, ale jeśli został otwarty w edytorze tekstów, powinien poinformować klienta o czasie UTC utworzenia kopii zapasowej.
Druga baza danych plików to pojedyncza kopia zapasowa bazy danych o nazwie tempdata2 wykonywana przy użyciu pg_dump. Każda baza danych ma oddzielny plik o formacie — {backup_name}baza danych{db_name}.sql
Trzeci plik _roles. Ma kopie zapasowe ról przy użyciu pg_dumpall
Czwarty plik _schemas. tworzenie kopii zapasowej przy użyciu pg_dumpall
Piąty plik _tablespaces. Ma kopię zapasową przestrzeni tabel przy użyciu pg_dumpall
Po zakończeniu przywracania do docelowego konta magazynu można użyć narzędzia pg_restore, aby przywrócić bazę danych i inne pliki do serwera elastycznego PostgreSQL. Użyj następującego polecenia, aby nawiązać połączenie z istniejącym serwerem elastycznym postgresql i istniejącą bazą danych
az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> -v -
--account-name
: nazwa docelowego konta magazynu.--container-name
: nazwa kontenera obiektów blob.--blob-name
: nazwa obiektu blob.--account-key
: Klucz konta magazynu.-Fd
: format katalogu.-j
: liczba zadań.-C
: Rozpocznij dane wyjściowe za pomocą polecenia , aby utworzyć samą bazę danych, a następnie ponownie nawiązać z nią połączenie.
Jeśli masz więcej niż jedną bazę danych do przywrócenia, uruchom ponownie wcześniejsze polecenie dla każdej bazy danych.
Ponadto przy użyciu wielu współbieżnych zadań -j można skrócić czas potrzebny na przywrócenie dużej bazy danych na serwerze docelowym z wieloma rdzeniami wirtualnymi. Liczba zadań może być równa lub mniejsza niż liczba procesorów wirtualnych przydzielonych dla serwera docelowego.
Aby przywrócić pozostałe trzy pliki (role, schemat i przestrzenie tabel), użyj narzędzia psql, aby przywrócić je do serwera elastycznego PostgreSQL.
az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | psql -h <hostname> -U <username> -d <db name> -f <dump directory> -v -
Uruchom ponownie powyższe polecenie dla każdego pliku.
Następne kroki
Macierz obsługi kopii zapasowej bazy danych PostgreSQL-Flex przy użyciu usługi Azure Backup.