3

我发现我可以执行 SQL 请求,但只能在 Tarantool 内部执行。

我可以像 MySQL shell 或 Postgres shell 那样连接到 Tarantool 吗?

mysql -u admin -h localhost -P 3301
# or
psql ...

或者如何配置其他只理解 MySQL 或 Postgres 连接的程序来使用 Tarantool?

4

1 回答 1

4

您不能使用任何一个命令mysqlpsql控制台命令连接到 Tarantool,因为每个服务器的通信协议都不同。出于同样的原因,例如,您无法使用该mysql实用程序连接到 Posgres。但是,没有什么能阻止您使用tarantoolctl对 Tarantool 执行 SQL 请求。一旦附加到实例(使用tarantoolctl enter my_instancetarantoolctl connect <uri>),您可以将默认语言从 Lua 切换到 SQL:

\set language sql
\set delimiter ;

之后,您将能够直接在控制台中执行 SQL 语句。

作为记录,也可以使用Lua 函数执行 SQL ,但这似乎不太方便:

box.execute([[ SELECT 1, 2, 3 ]])
于 2020-04-05T22:07:11.517 回答