doris show version 报错 SQL 错误 [1105] [HY000]: errCode = 2, detailMessage = no viable alternative at i
·
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 VERSION | WITH RECURSIVE |
|---|---|---|
| Doris 1.x | ❌ 不支持 | ❌ 不支持 |
| Doris 2.0+ | ✅ 支持 | ✅ 支持 |
建议:
- 先用 方法一 或 方法二 确认具体版本号
- 如果是 1.x 版本,递归查询请使用 路径枚举法(在表中增加
path字段) - 如果业务允许,建议 升级到 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),请使用路径枚举方案
更多推荐
所有评论(0)