Гранулярное восстановление баз данных PostgreSQL

Гранулярное восстановление доступно только для баз данных PostgreSQL, установленных на машинах под управлением ОС Linux. Доступно восстановление отдельных баз данных из единого архива резервной копии.

Восстановление на определенный момент времени (Point-in-Time Recovery, PITR) доступно только для инкрементных резервных копий, которые содержат изменения данных с момента создания последней резервной копии любого типа.

Предварительные требования:

  • Для возможности гранулярного восстановления на машину с агентом PostgreSQL необходимо установить библиотеку libfuse.
  • На машине с агентом PostgreSQL и на сервере PostgreSQL, которому принадлежит резервная копия, должны совпадать операционная система, версия и редакция PostgreSQL.
  • На машине с агентом PostgreSQL в конфигурационном файле /opt/acronis/var/dsp.database.pg/postgresql-agent.json в секции server > recovery_instance > binaries необходимо указать путь к исполняемым файлам PostgreSQL. Например:

    "recovery_instance": {
    "run_as_user": "postgres",
    "binaries": ["/usr/pgsql-15/bin/postgres"]
    }

    Далее перезапустите службу агента PostgreSQL:

    aakore restart

Для восстановления отдельных баз данных PostgreSQL:

  1. Перейдите в Устройства > PostgreSQL.
  2. Выберите экземпляр PostgreSQL, из которого вы хотите восстановить базы данных.
  3. Перейдите на вкладку справа Восстановление.
    Либо перейдите в Хранилища резервных копий, выберите необходимое хранилище и перейдите на вкладку справа Показать резервные копии.
  4. Нажмите на имя резервной копии и выберите необходимые для восстановления базы из архива.

  5. Выберите способ восстановления:
    • Если необходимо сразу восстановить выбранные базы из архива, нажмите справа Восстановить.
    • Если необходимо сохранить выбранные базы из архива в отдельные dump-файлы, нажмите справа Восстановить в dump-файл.
  6. [Если выбрано восстановление баз из архива] Укажите следующие настройки:
    • Выберите время восстановления. Можно оставить время создания резервной копии или указать время между созданием предыдущей резервной копии и выбранной (PITR).

    • Экземпляр PostgreSQL, куда будет происходить восстановление.
      Версия экземпляра PostgreSQL, куда будет происходить восстановление, должна быть не ниже восстанавливаемой. Редакции экземпляров PostgreSQL должны совпадать. Экземпляр, созданный из кластеризованного экземпляра, можно восстановить на некластеризованный экземпляр и наоборот.
    • Для каждой выбранной базы из архива укажите место для восстановления. Возможные варианты: в исходную базу, в новую базу.
  7. [Если выбрано сохранение баз данных в dump-файлы] Укажите следующие настройки:
    • Выберите время восстановления. Можно оставить время создания резервной копии или указать время между созданием предыдущей резервной копии и выбранной (PITR).
    • Место хранения dump-файлов.
  8. Нажмите Начать восстановление.
  9. [Если выбрано восстановление в исходную базу данных] Укажите порядок восстановления баз данных и нажмите Начать восстановление.

Ход выполнения восстановления показан на вкладке Действия.