Перейти к содержанию

BACKUP

Служебная команда BACKUP используется для создания согласованной, кластерной резервной копии данных. Команда требует привилегий Администратора СУБД (admin).

Синтаксис

BACKUP WAIT APPLIED GLOBALLY LOCALLY OPTION ( TIMEOUT = double )

Параметры

  • WAIT APPLIED — при использовании этого параметра контроль пользователю будет возвращен только после того как операция создания резервной копии будет применена либо во всем кластере (GLOBALLY), либо в рамках текущего инстанса (LOCALLY).

  • TIMEOUT — интервал времени, за который Picodata пытается выполнить операцию. Если времени не хватило и вернулась ошибка, то либо резервная копия не была создана, либо она была создана, но нам не хватило времени получить об этом подтверждение. Если параметр не указан, используется значение системного параметра sql_ddl_timeout (по умолчанию 86400 секунд).

Детали работы

Путь к директории для резервных копий задается параметром конфигурации --backup-dir (его можно указать в файле конфигурации или через переменную окружения). По умолчанию, резервные копии сохраняются в <instance-dir>/backup.

При выполнении BACKUP каждый инстанс в кластере сохраняет данные в поддиректории внутри backup-dir в файле, имя которого формируется в формате YYYYMMDDThhmmss.

В резервную копию входят: - файлы .snap, в том числе данные глобальных таблиц (включая конфигурацию СУБД, БД, хранимые процедуры, пользовательские объекты) и шардированных таблиц - конфигурационный файл инстанса - файл .picodata-cookie - данные плагинов из share-dir

Очистка старых резервных копий не выполняется автоматически — администратор БД самостоятельно управляет их удалением.

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

Для восстановления из ранее созданной резервной копии используйте CLI-команду picodata restore. Укажите путь к директории с резервной копией, а также, опционально, файл конфигурации для инстанса Picodata:

picodata restore --path <backup-path> --config <instance_config.yaml>

Примечание

Указание файла конфигурации обязательно только если он располагается вне рабочей директории инстанса или имеет имя, отличное от имени по умолчанию (picodata.yaml).

Рекомендуемая процедура восстановления:

  • остановить все инстансы в кластере
  • выполнить команду picodata restore на каждом инстансе, указывая одно и то же имя директории резервной копии (например, YYYYMMDDThhmmss) и, при необходимости, путь к файлу конфигурации
  • перезапустить все инстансы

Ограничения и особенности

  • восстановление поддерживается только в кластере с той же топологией, что и при создании резервной копии
  • резервная копия не сохраняет файлы WAL с расширением .xlog

Примеры

BACKUP OPTION (TIMEOUT = 3.0);