Переименование строковых таблиц
Внимание
Поддерживается только для строковых таблиц. Поддержка функциональности для колоночных таблиц находится в разработке.
С помощью подкоманды tools rename
вы можете переименовать одну или несколько строковых таблиц одновременно, перенести таблицу в другую директорию в пределах той же БД, заменить одну таблицу другой в рамках одной транзакции.
Общий вид команды:
ydb [global options...] tools rename [options...]
global options
— глобальные параметры.options
— параметры подкоманды.
Посмотрите описание команды для переименования строковых таблицы:
ydb tools rename --help
Параметры подкоманды
Один запуск команды tools rename
выполняет одну транзакцию переименования, которая может включать одну или несколько операций переименования разных таблиц.
Имя параметра | Описание параметра |
---|---|
--item <свойство>=<значение>,... |
Описание операции переименования. Может быть указан несколько раз, если необходимо выполнить несколько операций переименования в одной транзакции. Обязательные свойства:
|
--timeout <значение> |
Таймаут операции, мс. |
При включении нескольких операций переименования в один вызов tools rename
они исполняются в заданном порядке, но в рамках одной транзакции, что позволяет ротировать таблицу под нагрузкой без потери данных: первой операцией идет переименование рабочей таблицы в резервную, второй -- переименование новой таблицы в рабочую.
Примеры
-
Переименование одной таблицы:
ydb tools rename --item src=old_name,dst=new_name
-
Переименование нескольких таблиц в одной транзакции:
ydb tools rename \ --item source=new-project/main_table,destination=new-project/episodes \ --item source=new-project/second_table,destination=new-project/seasons \ --item source=new-project/third_table,destination=new-project/series
-
Перемещение таблиц в другую директорию:
ydb tools rename \ --item source=new-project/main_table,destination=cinema/main_table \ --item source=new-project/second_table,destination=cinema/second_table \ --item source=new-project/third_table,destination=cinema/third_table
-
Замена таблицы
ydb tools rename \ --item replace=True,source=pre-prod-project/main_table,destination=prod-project/main_table
-
Ротация таблицы
ydb tools rename \ --item source=prod-project/main_table,destination=prod-project/main_table.backup \ --item source=pre-prod-project/main_table,destination=prod-project/main_table