Восстановление гибких резервных копий База данных Azure для PostgreSQL (предварительная версия)
В этой статье объясняется, как восстановить сервер Azure PostgreSQL -flex, резервную копию резервного копирования Azure Backup.
Необходимые компоненты
Перед восстановлением из База данных Azure для PostgreSQL гибких резервных копий сервера убедитесь, что у вас есть необходимые разрешения для операции восстановления.
Данные резервного копирования хранятся в хранилище резервных копий как большой двоичный объект в клиенте Майкрософт. Во время операции восстановления данные резервного копирования копируются из одной учетной записи хранения в другую между клиентами. Убедитесь, что целевая учетная запись хранения для восстановления имеет свойство AllowCrossTenantReplication с значением true.
Восстановление гибкой базы данных Azure PostgreSQL
Выполните следующие действия:
Перейдите к экземплярам резервного копирования хранилища>резервных копий. Выберите сервер PostgreSQL-Flex для восстановления и нажмите кнопку "Восстановить".
Кроме того, перейдите в центр резервного копирования и выберите " Восстановить".
Выберите точку во времени, которую вы хотите восстановить с помощью точки восстановления. Измените диапазон дат, выбрав период времени.
Выберите целевую учетную запись хранения и контейнер на вкладке "Параметры восстановления". Нажмите кнопку "Проверить", чтобы проверить разрешения параметров восстановления перед окончательным просмотром и восстановлением.
После успешной проверки нажмите кнопку "Проверить и восстановить".
После окончательной проверки параметров выберите "Восстановить ", чтобы восстановить выбранную резервную копию сервера PostgreSQL-Flex в целевой учетной записи хранения.
Отправьте операцию восстановления и отслеживайте инициируемое задание в области Задания резервного копирования.
После завершения задания резервные копии данных восстанавливаются в учетной записи хранения. Ниже приведен набор файлов, восстановленных в учетной записи хранения после восстановления:
Первый файл — это маркер или файл метки времени, который дает клиенту время создания резервной копии. Файл не может быть восстановлен, но если он открыт с помощью текстового редактора, клиент должен сообщить клиенту время UTC при создании резервной копии.
Вторая файловая база данных — это отдельная резервная копия базы данных для базы данных с именем tempdata2, используемая с помощью pg_dump. Каждая база данных имеет отдельный файл с форматом : {backup_name}database{db_name}.sql
Третий файл _roles. Выполняет резервное копирование ролей с помощью pg_dumpall
Четвертый файл _schemas. Резервное копирование с помощью pg_dumpall
Пятый файл _tablespaces. Выполняет резервное копирование пространств таблиц с помощью pg_dumpall
После восстановления в целевую учетную запись хранения можно использовать служебную программу 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 можно сократить время, необходимое для восстановления большой базы данных на целевом сервере с несколькими виртуальными ядрами. Число заданий может быть равно или меньше числа виртуальных ЦП, выделенных для целевого сервера.
-
Чтобы восстановить остальные три файла (роли, схемы и табличные пространства), используйте служебную программу 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.