Выгрузка в файловую систему

Команда tools dump выгружает в клиентскую файловую систему данные и информацию об объектах схемы данных, в описанном в статье Файловая структура формате:

ydb [connection options] tools dump [options]

, где [connection options] - опции соединения с БД

[options] - параметры команды:

-p PATH или --path PATH: Путь к директории в базе данных, объекты внутри которой должны быть выгружены, либо путь к таблице. По умолчанию -- корневая директория базы данных. В выгрузку будут включены все поддиректории, имена которых не начинаются с точки, и таблицы внутри них, имена которых не начинаются с точки. Для выгрузки таких таблиц или содержимого таких директорий можно явно указать их имена в данном параметре.

-o PATH или --output PATH: Путь к директории в клиентской файловой системе, куда должна быть сделана выгрузка. Если указанная директория не существует, то она будет создана, однако весь путь до неё должен существовать. Если указанная директория существует, то она должна быть пуста. Если параметр не указан, то в текущей директории будет сделана директория с именем в формате backup_YYYYDDMMTHHMMSS, где YYYYDDMM - дата, а HHMMSS - время начала выгрузки.

--exclude STRING: Шаблон (PCRE) для исключения путей из выгрузки. Данный параметр может быть указан несколько раз, для разных шаблонов.

--scheme-only: Выгружать только информацию об объектах схемы данных, без выгрузки данных

--consistency-level VAL: Уровень консистентности. Возможные варианты:

  • database - Полностью консистентная выгрузка, со снятием одного снепшота перед началом выгрузки. Применяется по умолчанию.
  • table - Консистентность в пределах каждой выгружаемой таблицы, со снятием отдельных независимых снепшотов для каждой выгружаемой таблицы. Может работать быстрее и оказывать меньшее влияние на обработку текущей нагрузки на базу данных.

--avoid-copy: Не применять создание снепшота для выгрузки. Применяемый по умолчанию для обеспечения консистентности снепшот может быть неприменим для некоторых случаев (например, для таблиц со внешними блобами).

--save-partial-result: Не удалять результат частично выполненной выгрузки. Без включения данной опции результат выгрузки будет удален, если в процессе её выполнения произойдет ошибка.

Примеры

В примерах используется профиль db1, о создании которого рассказано в статье Знакомство с YDB CLI раздела "Начало работы".

Выгрузка базы данных

С автоматическим созданием директории backup_... в текущей директории:

ydb --profile db1 tools dump 

В заданную директорию:

ydb --profile db1 tools dump -o ~/backup_db1

Выгрузка структуры таблиц в заданной директории базы данных и её поддиректориях

ydb --profile db1 tools dump -p dir1 --scheme-only