版本升级
概览
本指南提供 GreptimeDB 的升级说明,包括每个版本的兼容性信息和破坏性变更。升级前,请确保查看与你的升级路径相关的破坏性变更。
升级时,请查看当前版本之后、直到目标版本为止的各版本变更。查看中间版本的变更 不代表必须逐个安装这些版本;实际升级步骤请遵循下方支持的升级路径。
完整的版本历史和功能新增,请参见发行说明。
升级到 v1.2 的路径
从 v1.0 或 v1.1 到 v1.2
如果你当前运行的是 v1.0 或 v1.1,可以直接升级到 v1.2。升级前,请先查看 从 v1.0 或 v1.1 升级到 v1.2,并完成 升级检查清单中的相关检查。 如果当前版本是 v1.0,还需查看 v1.1 的 Metric Engine 变更。
从 v0.17 或更早版本到 v1.2
如果你要从 v0.17 或更早版本升级到 v1.2,请先查看下方适用的 v1.0 升级路径, 再处理 v1.2 的破坏性变更。
如果使用 Metric Engine,还需查看 v1.0 的压缩建议 和 v1.1 的 Metric Engine 变更。
升级到 v1.0 的路径
从 v0.16 到 v1.0
如果你当前运行的是 v0.16,可以直接升级到 v1.0。请参见从 v0.16 升级到 v1.0 了解所有相关的破坏性变更。
从 v0.17 到 v1.0
如果你当前运行的是 v0.17,可以直接升级到 v1.0。请参见从 v0.17 升级到 v1.0 了解破坏性变更。
从更早版本升级
重要提示: 本指南仅涵盖从 v0.16 及更高版本的升级。
如果你运行的版本早于 v0.16,必须先按照当前版本的升级文档升级到 v0.16。成功升级到 v0.16 后,再使用本指南升级到 v1.0。
各版本的破坏性变更
从 v1.0 或 v1.1 升级到 v1.2
移除 PromQL holt_winters
影响: PromQL 查询解析
holt_winters 这个名字已被移除。它只是为向后兼容保留的别名,函数本身没有变化,
仍然可以通过 double_exponential_smoothing 使用 —— 这个名字在 v1.2 之前就已经
支持。
需要的操作:
-
在仪表盘、录制规则、告警规则和 API 调用方中搜索
holt_winters( -
把每处调用改名为
double_exponential_smoothing(...),参数和结果完全一致:# v1.2 之前
holt_winters(prom_series[10s], 0.5, 0.1)
# v1.2 及之后
double_exponential_smoothing(prom_series[10s], 0.5, 0.1) -
修改后在预发环境重新执行这些查询
拒绝 fill、fill_left 和 fill_right PromQL 修饰符
影响: 为避免错误查询计划而收紧 PromQL 兼容性
v1.2 升级了 PromQL 解析器,二元运算符修饰符 fill、fill_left 和 fill_right
因此首次在语法上变得合法,例如 metric_a + fill(0) metric_b。GreptimeDB 并未
实现它们所需的 outer join 语义,因此会直接拒绝这类用法(无论是直接使用还是嵌套
使用),而不是把它们当作普通的 inner join 来规划。
更早的版本根本无法解析这些修饰符,所以 v1.2 之前能正常工作的查询都不受影响。
这也与 SQL 的 RANGE ... FILL 子句无关,后者没有变化。
需要的操作:
- 在 PromQL 表达式中搜索
fill(、fill_left(和fill_right( - 重写受影响的查询,使其不再依赖这些修饰符
Pipeline 整数缩窄现在遵循 on_failure
影响: Pipeline 类型转换正确性
当 pipeline 把整型输入或数字字符串转换为无法容纳该值的声明整型时,该值不再按
模运算回绕,而是遵循该转换的 on_failure 策略。此前 -1 写入 uint8 会存成
255,256 写入 int8 会存成 0。
这适用于 int8、int16、int32、uint8、uint16 和 uint32,也适用于写入
int64 和 uint64 时的跨符号转换。本次发布中,浮点数转整数 的行为保持不变。
需要的操作:
- 检查会写入窄整数类型字段的 pipeline,以及可能把负值写入无符号类型的 pipeline
- 如果这些 pipeline 依赖了回绕行为,请在升级前扩大目标类型,或显式配置
on_failure策略 - 使用
POST /v1/pipelines/_dryrun或有代表性的预发数据,验证边界值现在会 产生预期的错误、默认值或 null 结果
本地 SQL 文件访问现在受沙箱限制
影响: 读写本地文件的 COPY 与外部表工作流
单机部署现在会把本地 SQL 文件路径解析到 storage.copy_root
(默认 <data_home>/copy)之内;分布式部署则完全拒绝本地文件 SQL 访问。
需要的操作:
- 识别引用本地路径的
COPY语句和外部表 - 如果你使用单机部署,请将这些文件移动到沙箱目录下,或把
storage.copy_root指向专用目录,或将工作流迁移到对象存储 - 如果你运行的是分布式服务,请在升级前把本地文件工作流迁移到 S3、OSS、 GCS 或 AzBlob
- 详细迁移步骤请参见迁移本地 SQL 文件访问
移除 sparse_primary_key_encoding 配置
影响: Metric engine 配置清理
GreptimeDB 现在始终为 metric 表使用稀疏主键编码,sparse_primary_key_encoding
选项已被移除。配置文件中若仍保留该项,不会导致启动失败,该项会被忽略。
需要的操作:
- 从配置文件、Helm values 和自动化模板的
[region_engine.metric]块中移除sparse_primary_key_encoding。如果更早的experimental_sparse_primary_key_encoding还在,也一并删掉。 - 如果你之前设置过
sparse_primary_key_encoding = false,请注意 v1.2 已经不再提供关闭该行为的选项 - 使用清理后的配置在预发环境重启一次,确认部署已不再依赖这些被移除的设置
从 v1.0 升级到 v1.1
OSS RRSA 凭证优先级变化
影响: 升级后访问 OSS 时使用的 RAM 角色可能发生变化。
从 v1.0.2 升级到 v1.1.0 时,如果 Pod 可以从节点 metadata 获取凭证,使用
RRSA/OIDC 的 ACK 部署可能优先选用 ECS 节点 RAM Role 凭证。如果节点角色缺少
所需的 OSS 权限,建表或写入可能返回 403 PermissionDenied,例如 在写入 manifest
时失败。v1.1.4、v1.2.1 和 v1.3.0-alpha.1-nightly-20260907 也采用相同的凭证顺序;
从 v1.0 直接升级到这些版本时,也需检查此项。
操作要求:
- 如果部署使用 RRSA/OIDC,在升级部署前,为访问 OSS 的 standalone 实例或所有
datanode 设置环境变量
ALIBABA_CLOUD_ECS_METADATA_DISABLED=true。 保留原有 RRSA 环境变量和 token 挂载。容器配置示例和凭证优先级说明见 OSS RRSA/OIDC 配置。 - 重启相关实例使设置生效。如果部署依赖 ECS RAM Role 凭证,请勿设置该变量。
- 在非生产环境验证升级,检查建表、写入和读取,并确认 OSS 操作不再返回权限错误。
如果仍然报错,请检查实际使用的身份及其 bucket 权限;仅凭
403不能认定是此凭证 优先级问题。
从 v0.17 升级到 v1.0
如果使用 Metric Engine 表,从 v0.17 升级到 v1.0 或更高版本前,请查看 压缩建议。
移除 Jaeger HTTP Header
影响: HTTP header 废弃
HTTP header x-greptime-jaeger-time-range-for-operations 已被废弃并移除。
需要的操作:
- 如果你在 Jaeger 数据源或代理中配置了此 header,请从配置中移除
- 此 header 将不再有任何效果
Metric Engine 默认启用稀疏主键编码
影响: 默认配置变更,带来性能提升
Metric Engine 现在默认启用稀疏主键编码,以提高指标场景的存储效率和查询性能。
配置变更:
- 新的默认值:
sparse_primary_key_encoding = true - 已废弃:
experimental_sparse_primary_key_encoding(请使用sparse_primary_key_encoding代替)
需要的操作:
- 此变更不会导致数据格式兼容性问题
- 所有指标表将默认自动使用稀疏编码
- 如果想继续使用旧的编码方法,请显式设置:
[[region_engine]]
[region_engine.metric]
sparse_primary_key_encoding = false
greptime_identity Pipeline JSON 行为变更
影响: JSON 处理逻辑变更
greptime_identity pipeline 中的 JSON 处理逻辑发生了重大变化:
新行为: