BACKUP¶
Служебная команда BACKUP используется для создания согласованной,
кластерной резервной копии данных. Команда требует привилегий
Администратора СУБД (admin).
Синтаксис¶
Параметры¶
-
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 restore --path <backup-path>
Рекомендуемая процедура восстановления:
- остановить все инстансы в кластере
- выполнить
picodata restore --path <backup-path>на каждом инстансе, указывая одну и ту же директорию резервной копии (например, YYYYMMDDThhmmss) - перезапустить все инстансы
Ограничения и особенности¶
- восстановление поддерживается только в кластере с той же топологией, что и при создании резервной копии
- резервная копия не сохраняет файлы WAL с расширением
.xlog
Примеры¶
BACKUP OPTION (TIMEOUT = 3.0);