我可以使用 mysql 或 psql 控制台连接到 Tarantool 吗?

Can I connect to Tarantool with mysql or psql console?

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

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

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

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

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

\set language sql
\set delimiter ;

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

郑重声明,也可以使用 Lua functions 执行 SQL,但这似乎不太方便:

box.execute([[ SELECT 1, 2, 3 ]])