Это вторая статья из серии бэкапов PostgreSQL с помощью Veeam. Напомню, что на момент написания первой статьи это были скорее всего костыли чем настоящий бэкап. И вот вышла наконец 12 версия Veeam Backup and Replacion где стало возможным делать бэкап с использованием WAL файлов. Соответственно теперь можно и восстановиться на определённое время.

Для начала обновите Veeam Backup and Replacion до версии 12.


Требования и ограничения

  • Для начала убедитесь в том, что порт 5432 на устройстве с PostgreSQL доступен с сервера где установлен Veeam
  • Необходимо иметь версию PostgreSQL не ниже 12 и не выше 15.2 (на момент публикации статьи)
  • Veeam Backup & Replication не поддерживает резервное копирование кластеров PostgreSQL
  • Veeam Backup & Replication не поддерживает резервное копирование отдельных баз данных PostgreSQL
  • Установите параметр archive_mode в режим on (postgresql.conf)
  • archive_command должно быть пустым (postgresql.conf)
  • Параметр wal_level должен быть replica или logical
  • Каталог /tmp должен быть примонтирован с опцией exec

Бэкап отключенного экземпляра

Если ваш экземпляр PostgreSQL находится в отключенном состоянии, то бэкап этого экземпляра производится не будет. Не будет он делаться только новым методом, вы всё также сможете восстановить его, но только на уровне файлов или томов. Если же у вас на сервере несколько экземпляров, то будет делаться бэкап всех остальных работающих экземпляров с использованием WAL.

Установка Veeam Agent for Linux

Я надеюсь у вас не стоит PostgreSQL на ОС Windows, но если и стоит, то спешу вас расстроить что бэкап PostgreSQL с использованием WAL файлов будет работать только на Linux.

О том, как поставить Veeam Agent for Linux читаем тут. Версия агента должна быть не ниже 6.0.0.1060.

Добавляем задачу в Veeam Backup and Replication

После того как вы установили Veeam Agent for Linux можно приступать к созданию задачи. Для этого:

  1. Переходим в Jobs > Backup > Linux Computer и добавляем новую задачу

enter image description here

  1. Добавляем сервер с PostgreSql

enter image description here

  1. Ставим галочку напротив Enable application-aware processing и настраиваем бэкап PostgreSql, а именно добавляем пользователя для подключения к PostgreSql. И вот тут уже новенькие настройки, которые доступны только начиная с версии 12.

enter image description here

 3.1. Тут просто ставим галочку, которая активирует возможность делать бэкап определённой программы
 3.2 Тут нужно ввести логин и пароль пользователя от ОС (доступ по ssh)
 3.3 Открываем вкладку PostgreSQL
 3.4 Задаём логин (пароль нужен если выбрали первое в 5) для доступа к PostgreSql
 3.5 Тут в зависимости от предпочтений выбираем метод аутентификации
 3.6 Устанавливаем с какой периодичностью делать бэкап WAL файлов
 3.7 Директорию куда именно сперва записывать WAL файлы
  1. Дальше выставляем время запуска и завершаем мастер создания задачи
  2. После запланированного запуска задачи в активных задачах появится вложенная задача, которая будет висеть в фоне и делать бэкап WAL файлов каждые 15 минут (указывается в 3.6)

enter image description here

Восстановление

Для восстановления переходим в Home > Backups > Disk > Your backup > Backup > Application Item > PostgreSQL. В открывшемся окне выбираем нужную точку восстановления.

enter image description here

Далее жмём Next пока не получаем кнопку Browse, которую собственно и нажимаем. Благодаря чему запустится Veeam Explorer for PostgreSQL.

И собственно выбираем куда и как восстанавливать.

enter image description here

Также тут можно применить восстановление на определённое время.

enter image description here

Заключение

К сожалению, на момент написания статьи все ещё нет возможности восстановить определённую БД или таблицу, но возможно в будущем эта возможность появится.