Интерактивная консоль 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:storage001app: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: idtype: unsigned- name: band_nametype: string- name: yeartype: unsignedrows:- [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 3band_name Roxette Scorpions Ace of Baseyear 1986 1965 1987 -
\set table_column_width– максимальная ширина колонки:app:storage001> \set table_column_width 6app:storage001> box.space.bands:select {}id 1 2 3band_n Roxett Scorpi Ace of+ame +e +ons + Baseyear 1986 1965 1987
Показать справку по консоли tt.
Выйти из консоли tt.
Показать доступные горячие клавиши.
Установить язык ввода. Возможные значения:
lua(по умолчанию);sql.
Аналог параметра -l/--language команды tt connect.
Установить формат вывода. Возможные значения 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.
Установить формат таблицы, если формат вывода – table или ttable. Возможные значения:
default– псевдографическая (ASCII) таблица.markdown– таблица в формате Markdown.jira– таблица, совместимая с Jira.
Определяет, выводить ли псевдографику для ячеек таблицы, если формат вывода – table или ttable.
Возможные значения: true (по умолчанию) и false.
Сокращения:
\xGдляtrue;\xgдляfalse.
Установить максимальную ширину выводимого содержимого ячейки таблицы. Если длина превышает это значение,
вывод продолжается на следующей строке, начиная с символа + (плюс).
Сокращение: \xw