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

Команда 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: Не удалять результат частично выполненной выгрузки. Без включения данной опции результат выгрузки будет удален, если в процессе её выполнения произойдет ошибка.

--ordered: Строки в выгруженных таблицах будут отсортированы по первичному ключу.

Примеры

Примечание

В примерах используется профиль quickstart, подробнее смотрите в Создание профиля для соединения с тестовой БД.

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

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

ydb --profile quickstart tools dump

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

ydb --profile quickstart tools dump -o ~/backup_quickstart

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

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