BACKUP¶
Служебная команда BACKUP
используется для создания согласованной,
кластерной резервной копии данных.
Синтаксис¶
Параметры¶
-
WAIT APPLIED — при использовании этого параметра контроль пользователю будет возвращен только после того как операция создания резервной копии будет применена либо во всем кластере (
GLOBALLY
), либо в рамках текущего инстанса (LOCALLY
). -
TIMEOUT — интервал времени, за который Picodata пытается выполнить операцию. Если времени не хватило и вернулась ошибка, то либо резервная копия не была создана, либо она была создана, но нам не хватило времени получить об этом подтверждение.
Детали работы¶
Путь к директории для резервных копий задается параметром конфигурации
--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);