Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Интерактивная консоль tt

Утилита tt включает консоль командной строки, в которой можно интерактивно выполнять запросы и код Lua на подключенных экземплярах Tarantool. Она аналогична интерактивной консоли Tarantool, но с одним ключевым отличием: с помощью консоли tt можно подключаться к любому доступному экземпляру, как локальному, так и удаленному. Кроме того, у неё доступны более гибкие возможности форматирования вывода.

Вход в консоль

Чтобы подключиться к экземпляру Tarantool через консоль tt, выполните команду tt connect.

Укажите URI экземпляра и учетные данные пользователя в соответствующих параметрах:

$ tt connect 192.168.10.10:3301 -u myuser -p p4$$w0rD   • Connecting to the instance...   • Connected to 192.168.10.10:3301192.168.10.10:3301>

Если пользователь не указан, подключение выполняется от имени пользователя guest.

Если экземпляр работает том же окружении tt, можно установить локальное подключение к нему, указав строку <application>:<instance> вместо URI:

$ tt connect app:storage001    • Connecting to the instance...    • Connected to app:storage001 app:storage001>

Локальные подключения устанавливаются от имени пользователя admin.

Чтобы получить список поддерживаемых команд консоли, введите \help или ?. Чтобы выйти из консоли, введите \quit или \q.

Ввод в консоли

Как и интерактивная консоль Tarantool, консоль tt может принимать ввод на Lua или SQL. По умолчанию используется Lua. Для ввода на Lua автодополнение по клавише TAB работает автоматически для загруженных модулей.

Чтобы переключить язык ввода на SQL, выполните \set language sql:

app:storage001> \set language sqlapp:storage001> select * from bands where id = 1---- metadata:  - name: id    type: unsigned  - name: band_name    type: string  - name: year    type: unsigned  rows:  - [1, 'Roxette', 1986]...

Чтобы переключить язык ввода обратно на Lua, выполните \set language lua:

app:storage001> \set language luaapp:storage001> box.space.bands:select { 1 }---- - [1, 'Roxette', 1986]...

Вывод консоли

По умолчанию консоль tt выводит данные в формате YAML, каждый кортеж указывается на новой строке:

app:storage001> box.space.bands:select { }---- - [1, 'Roxette', 1986]  - [2, 'Scorpions', 1965]  - [3, 'Ace of Base', 1987]...

Переключиться на альтернативные форматы вывода – Lua или таблицы в псевдографике (ASCII) – можно командой консоли \set output:

app:storage001> \set output luaapp:storage001> box.space.bands:select { }{{1, "Roxette", 1986}, {2, "Scorpions", 1965}, {3, "Ace of Base", 1987}};app:storage001> \set output tableapp:storage001> box.space.bands:select { }<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 25%;"><col style="width: 50%;"><col style="width: 25%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IGlk)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IGJhbmRfbmFtZQ==)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IHllYXI=)}</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IFJveGV0dGU=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE5ODY=)}</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDI=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IFNjb3JwaW9ucw==)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE5NjU=)}</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDM=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IEFjZSBvZiBCYXNl)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE5ODc=)}</p></td></tr></tbody></table>

Вывод таблицы может быть представлен в транспонированном формате, где поля объекта расположены по колонкам, а не по строкам:

app:storage001> \set output ttableapp:storage001> box.space.bands:select { }<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 25%;"><col style="width: 25%;"><col style="width: 25%;"><col style="width: 25%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IGlk)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDI=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDM=)}</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IGJhbmRfbmFtZQ==)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IFJveGV0dGU=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IFNjb3JwaW9ucw==)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IEFjZSBvZiBCYXNl)}</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IHllYXI=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE5ODY=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE5NjU=)}</p></td><td class="tableblock halign-left valign-top"><p class="tableblock">{decodeBase64(IDE5ODc=)}</p></td></tr></tbody></table>

Для форматов вывода table и ttable доступны дополнительные настройки с помощью следующих команд:

  • \set table_format – формат таблицы: default (псевдографика, или ASCII-таблица), Markdown или формат, совместимый с Jira:

    app:storage001> \set table_format jiraapp:storage001> box.space.bands:select {}| id | 1 | 2 | 3 || band_name | Roxette | Scorpions | Ace of Base || year | 1986 | 1965 | 1987 |
  • \set graphics – включить или отключить псевдографику для ячеек таблицы в формате default:

    app:storage001> \set table_format defaultapp:storage001> \set graphics falseapp:storage001> box.space.bands:select {} id         1        2          3 band_name  Roxette  Scorpions  Ace of Base year       1986     1965       1987
  • \set table_column_width – максимальная ширина колонки:

    app:storage001> \set table_column_width 6app:storage001> box.space.bands:select {} id      1       2       3 band_n  Roxett  Scorpi  Ace of +ame    +e      +ons    + Base year    1986    1965    1987

Команды

\help, ?

Показать справку по консоли tt.

\quit, \q

Выйти из консоли tt.

\shortcuts

Показать доступные горячие клавиши.

\set language {lua\|sql}

Установить язык ввода. Возможные значения:

  • lua (по умолчанию);
  • sql.

Аналог параметра -l/--language команды tt connect.

\set output FORMAT, \x{l|t|T|y}, \x

Установить формат вывода. Возможные значения FORMAT:

  • yaml (по умолчанию) – каждый элемент вывода представляет собой YAML-объект. Пример: [1, 'Roxette', 1986]. Сокращение: \xy.
  • lua – каждый выводимый кортеж представляет собой отдельную Lua-таблицу. Пример: {{1, "Roxette", 1986}};. Сокращение: \xl.
  • table – вывод в виде таблицы, где кортежи – строки. Сокращение: \xt.
  • ttable – вывод в виде транспонированной таблицы, где кортежи – колонки. Сокращение: \xT.

Формат вывода table и ttable можно настроить с помощью команд \set table_format, \set graphics и \set table_column_width.

Аналог параметра -x/--outputformat команды tt connect.

\set table_format

Установить формат таблицы, если формат вывода – table или ttable. Возможные значения:

  • default – псевдографическая (ASCII) таблица.
  • markdown – таблица в формате Markdown.
  • jira – таблица, совместимая с Jira.

\set graphics {true[\|false}, \x{g|G}

Определяет, выводить ли псевдографику для ячеек таблицы, если формат вывода – table или ttable. Возможные значения: true (по умолчанию) и false.

Сокращения:

  • \xG для true;
  • \xg для false.

\set table_column_width WIDTH, \xw WIDTH

Установить максимальную ширину выводимого содержимого ячейки таблицы. Если длина превышает это значение, вывод продолжается на следующей строке, начиная с символа + (плюс).

Сокращение: \xw