show version 报错 SQL 错误 [1105] [HY000]: errCode = 2, detailMessage = no viable alternative at input 'SHOW VERSION'(line 1, pos 69)

这个报错说明你的 Doris 版本较旧,不支持 SHOW VERSION 命令(该命令在较新版本中才引入)。

请尝试以下几种替代方法来获取版本信息:


方法一:查看 FE 节点信息(推荐)


SHOW FRONTEND;

或者:


SHOW PROC '/frontends';

输出示例:


+------------+----------+----------+---------+------------------+
| Name       | IP       | Port     | Version | ...              |
+------------+----------+----------+---------+------------------+
| fe_node_1  | 10.0.0.1 | 8030     | 1.2.0   | ...              |
+------------+----------+----------+---------+------------------+

Version 列会显示真实的 Doris 版本号。


方法二:HTTP 接口(最准确)

在 任意一台 FE 节点服务器 上执行:


curl http://<fe_host>:8030/api/version

例如:


curl http://127.0.0.1:8030/api/version

输出示例:


{
    "status": "OK",
    "msg": "success",
    "version": "1.2.0"
}

方法三:查看系统变量


SHOW VARIABLES LIKE '%version%';

注意:这返回的是 MySQL 协议兼容版本(如 5.7.99),不是真实 Doris 版本,仅供参考。


方法四:服务器文件系统

如果你有服务器权限,进入 FE 安装目录:


cd /path/to/doris/fe
cat version

🎯 关于递归查询的判断

根据你遇到的 SHOW VERSION 语法错误,你的 Doris 版本很可能低于 2.0

版本SHOW VERSIONWITH RECURSIVE
Doris 1.x❌ 不支持❌ 不支持
Doris 2.0+✅ 支持✅ 支持

建议:

  1. 先用 方法一 或 方法二 确认具体版本号
  2. 如果是 1.x 版本,递归查询请使用 路径枚举法(在表中增加 path 字段)
  3. 如果业务允许,建议 升级到 2.0+ 版本 以获得更好的 SQL 兼容性

📌 快速验证是否支持递归

你可以直接执行一个简单的递归测试:


WITH RECURSIVE t AS (
    SELECT 1 AS n
    UNION ALL
    SELECT n + 1 FROM t WHERE n < 3
)
SELECT * FROM t;
  • 成功 → 支持递归(版本 2.0+)
  • 报错 → 不支持递归(版本 1.x),请使用路径枚举方案
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐