Поделиться через


Восстановление гибких резервных копий База данных Azure для PostgreSQL (предварительная версия)

В этой статье объясняется, как восстановить сервер Azure PostgreSQL -flex, резервную копию резервного копирования Azure Backup.

Необходимые компоненты

  1. Перед восстановлением из База данных Azure для PostgreSQL гибких резервных копий сервера убедитесь, что у вас есть необходимые разрешения для операции восстановления.

  2. Данные резервного копирования хранятся в хранилище резервных копий как большой двоичный объект в клиенте Майкрософт. Во время операции восстановления данные резервного копирования копируются из одной учетной записи хранения в другую между клиентами. Убедитесь, что целевая учетная запись хранения для восстановления имеет свойство AllowCrossTenantReplication с значением true.

Восстановление гибкой базы данных Azure PostgreSQL

Выполните следующие действия:

  1. Перейдите к экземплярам резервного копирования хранилища>резервных копий. Выберите сервер PostgreSQL-Flex для восстановления и нажмите кнопку "Восстановить".

    Снимок экрана: восстановление базы данных.

    Кроме того, перейдите в центр резервного копирования и выберите " Восстановить".

  2. Выберите точку во времени, которую вы хотите восстановить с помощью точки восстановления. Измените диапазон дат, выбрав период времени.

    Снимок экрана: процесс выбора точки восстановления.

  3. Выберите целевую учетную запись хранения и контейнер на вкладке "Параметры восстановления". Нажмите кнопку "Проверить", чтобы проверить разрешения параметров восстановления перед окончательным просмотром и восстановлением.

  4. После успешной проверки нажмите кнопку "Проверить и восстановить". Снимок экрана: процесс параметра восстановления.

  5. После окончательной проверки параметров выберите "Восстановить ", чтобы восстановить выбранную резервную копию сервера PostgreSQL-Flex в целевой учетной записи хранения. Снимок экрана: страница процесса проверки.

  6. Отправьте операцию восстановления и отслеживайте инициируемое задание в области Задания резервного копирования. Снимок экрана: страница процесса проверки.

  7. После завершения задания резервные копии данных восстанавливаются в учетной записи хранения. Ниже приведен набор файлов, восстановленных в учетной записи хранения после восстановления:

    • Первый файл — это маркер или файл метки времени, который дает клиенту время создания резервной копии. Файл не может быть восстановлен, но если он открыт с помощью текстового редактора, клиент должен сообщить клиенту время UTC при создании резервной копии.

    • Вторая файловая база данных — это отдельная резервная копия базы данных для базы данных с именем tempdata2, используемая с помощью pg_dump. Каждая база данных имеет отдельный файл с форматом : {backup_name}database{db_name}.sql

    • Третий файл _roles. Выполняет резервное копирование ролей с помощью pg_dumpall

    • Четвертый файл _schemas. Резервное копирование с помощью pg_dumpall

    • Пятый файл _tablespaces. Выполняет резервное копирование пространств таблиц с помощью pg_dumpall

  8. После восстановления в целевую учетную запись хранения можно использовать служебную программу pg_restore для восстановления базы данных и других файлов на гибкий сервер PostgreSQL. Используйте следующую команду, чтобы подключиться к существующему гибкому серверу postgresql и существующей базе данных.

    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: имя целевой учетной записи хранения.
    • --container-name: имя контейнера BLOB-объектов.
    • --blob-name: имя большого двоичного объекта.
    • --account-key: ключ учетной записи хранения.
    • -Fd: формат каталога.
    • -j: количество заданий.
    • -C: Запустите выходные данные с помощью команды, чтобы создать саму базу данных, а затем повторно подключиться к ней.

    Если для восстановления требуется несколько баз данных, выполните более раннюю команду для каждой базы данных.

    Кроме того, с помощью нескольких параллельных заданий -j можно сократить время, необходимое для восстановления большой базы данных на целевом сервере с несколькими виртуальными ядрами. Число заданий может быть равно или меньше числа виртуальных ЦП, выделенных для целевого сервера.

  9. Чтобы восстановить остальные три файла (роли, схемы и табличные пространства), используйте служебную программу psql, чтобы восстановить их на гибком сервере 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 -

    Повторно выполните приведенную выше команду для каждого файла.

Следующие шаги

Матрица поддержки резервного копирования базы данных PostgreSQL-Flex с помощью Azure Backup.