Udostępnij za pośrednictwem


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

  1. Przed przywróceniem z kopii zapasowych serwera elastycznego usługi Azure Database for PostgreSQL upewnij się, że masz wymagane uprawnienia do operacji przywracania.

  2. 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:

  1. 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óć.

    Zrzut ekranu przedstawiający sposób przywracania bazy danych.

    Alternatywnie przejdź do centrum kopii zapasowej i wybierz pozycję Przywróć.

  2. Wybierz punkt w czasie, który chcesz przywrócić przy użyciu pozycji Wybierz punkt przywracania. Zmień zakres dat, wybierając pozycję Okres.

    Zrzut ekranu przedstawiający proces wybierania punktu odzyskiwania.

  3. 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.

  4. Po pomyślnym zakończeniu walidacji wybierz pozycję Przejrzyj i przywróć. Zrzut ekranu przedstawiający proces przywracania parametru.

  5. Po ostatnim przejrzeniu parametrów wybierz pozycję Przywróć , aby przywrócić wybraną kopię zapasową serwera PostgreSQL-Flex na docelowym koncie magazynu. Zrzut ekranu przedstawiający stronę procesu przeglądu.

  6. Prześlij operację Przywracania i śledź wyzwalane zadanie w obszarze Zadania tworzenia kopii zapasowej. Zrzut ekranu przedstawiający stronę weryfikowania procesu.

  7. 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

  8. 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.

  9. 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.