Interactive console
The “interactive console” is Tarantool’s basic “command-line interface” for entering requests
and seeing results. It is what users see when they start the server
without an instance file,
or start tarantoolctl with enter
.
It is often called the Lua console to distinguish it from the administrative console,
but in fact it can handle both Lua and SQL input.
The majority of examples in this manual show what users see with the
interactive console, including the prompt (which can be “tarantool> “),
the instruction (which can be a Lua request or an SQL statement),
and the response (which can be a display in either YAML format or Lua format).
-- Typical interactive console example with Lua input and YAML output
tarantool> box.info().replication
---
- 1:
id: 1
uuid: a5d22f66-2d28-4a35-b78f-5bf73baf6c8a
lsn: 0
...
The input language can be changed to SQL with \set language sql
or changed to Lua (the default) with \set language lua
.
The delimiter can be changed to any character with set delimiter <character>
.
The default is nothing, which means input does not need to end with a delimiter.
But a common recommendation is to say set delimiter ;
especially if input is SQL.
The output format can be changed to Lua with \set output lua
or changed to YAML (the default) with \set output yaml
.
Ordinarily. output from the console has YAML format.
That means that there is a line for document-start "---"
,
and each item begins on a separate line starting with "- "
,
and each sub-item in a nested structure is indented,
and there is a line for document-end "..."
.
Optionally, output from the console can have Lua format.
That means that there are no lines for document-start or document-end,
and items are not on separate lines (they are only separated by commas),
and each sub-item in a nested structure is placed inside “{}
” braces.
So, when input is a Lua object description, output will equal input.
YAML is good for readability.
Lua is good for re-using results as requests.
A third format, MsgPack, is good for database storage.
Currently the default output format is YAML but it may be Lua in a future version,
and it may be Lua if
the last set_default_output
call was console.set_default_output('lua')
.
Type | Lua input | Lua output | YAML output | MsgPack storage |
---|---|---|---|---|
scalar | 1 |
1 |
--- - 1 ... |
\x01 |
scalar sequence | 1,2,3 |
1,2,3 |
--- - 1 - 2 - 3 ... |
\x01 \x02 \x03 |
2-element table | {1,2} |
{1,2} |
--- - - 1 - - 2 ... |
0x92 0x01 0x02 |
map | {key=1} |
{key=1} |
--- - key: 1 ... |
\x81 \xa3 \x6b \x65 \x79 \x01 |