Интерактивная консоль
Интерактивная консоль – это базовый интерфейс командной строки Tarantool для ввода запросов и просмотра результатов.
Она отображается при запуске сервера без файла instances.yaml (подробнее см. раздел
Создание и разработка приложения).
Интерактивную консоль часто называют Lua-консолью, чтобы отличить ее от административной консоли, но на самом деле
она может обрабатывать как Lua, так и SQL-запросы.
Большинство примеров в этом руководстве демонстрируют вывод интерактивной консоли. Он включает:
- Приглашение
tarantool>; - Инструкция (Lua-запрос или SQL-выражение);
- Ответ (вывод в формате YAML или Lua).
-- Пример интерактивной консоли с вводом Lua и выводом YAML --tarantool> box.info().replication---- 1:id: 1uuid: a5d22f66-2d28-4a35-b78f-5bf73baf6c8alsn: 0...
Язык ввода может быть Lua (по умолчанию) или SQL. Чтобы изменить язык ввода, выполните
команду \set language <язык>, например:
-- Задать язык ввода SQL --tarantool> \set language sql---- true...
Разделитель можно изменить на любой символ с помощью команды \set delimiter <символ>. По умолчанию разделитель пуст,
что означает, что ввод не должен заканчиваться разделителем. Например, для ввода SQL обычно рекомендуется использовать
точку с запятой в качестве разделителя:
-- Задать разделитель ';' --tarantool> \set delimiter ;---...
Формат вывода может быть YAML (по умолчанию) или Lua. Чтобы изменить формат вывода,
выполните команду \set output <формат>, например:
-- Задать формат вывода Lua --tarantool> \set output luatrue
Формат вывода YAML по умолчанию выглядит следующим образом:
- Вывод начинается со строки начала документа
"---". - Каждый элемент начинается с новой строки, начинающейся с
"- ". - Каждый вложенный элемент в структуре имеет отступ.
- Вывод заканчивается строкой конца документа
"...".
Альтернативный формат Lua для вывода в консоль выглядит следующим образом:
- Отсутствуют строки начала и конца документа.
- Элементы разделяются запятыми.
- Каждый вложенный элемент в структуре помещается в фигурные скобки "
{}". Таким образом, если на входе задано описание объекта Lua, вывод в формате Lua будет ему соответствовать.
Для формата вывода Lua можно указать символ конца выражения. Он добавляется в конец каждого выводимого выражения в
текущем сеансе и может использоваться для разбора вывода скриптами. По умолчанию символ конца выражения пуст. Его
можно изменить на любой символ или последовательность символов. Чтобы задать символ конца выражения для текущего сеанса,
выполните \set output lua,local_eos=<символ>\, например:
-- Задать формат вывода Lua и символ конца выражения '#' --tarantool> \set output lua,local_eos=#true#
Чтобы вернуться к пустому символу конца выражения:
-- Задать формат вывода Lua и пустой символ конца выражения --tarantool> \set output lua,local_eos=true
Вывод в формате YAML отличается большей читабельностью. Вывод в формате Lua можно повторно использовать в запросах. В таблице ниже приведены примеры вывода в этих форматах в сравнении с форматом MsgPack, который хорошо подходит для хранения в базе данных.
Тип | Ввод Lua | Вывод Lua | Вывод YAML | Хранение MsgPack |
|---|---|---|---|---|
Скалярное значение |
|
| | |
|
Последовательность скалярных значений |
|
| | |
|
Таблица из 2 элементов |
|
| | |
|
Ассоциативный массив |
|
| | |
|
Параметры консоли экземпляра Tarantool можно также изменить из другого экземпляра с помощью функций встроенного модуля console.
Начиная с 2.10.0.
Сочетание клавиш | Действие |
|---|---|
| Отбросить текущий ввод сигналом |
| Выйти из интерактивной консоли Tarantool. |