Timescale Cloud:性能、扩展、企业级
自托管产品
MST
手动将超表列式存储中的特定数据块转换为行式存储。
如果您需要修改或向列式存储中的数据块添加大量数据,最佳实践是停止任何将数据块移动到列式存储的作业,将数据块转换回行式存储,然后修改数据。更新后,将数据块转换回列式存储并重启作业。此工作流在您需要回填旧数据时特别有用。
自 TimescaleDB v2.18.0 起修改或向数据块添加大量数据
停止自动将数据块添加到列式存储的作业
从 `timescaledb_information.jobs` 视图中检索作业列表,以找到您需要 `alter_job` 的作业。
SELECT alter_job(JOB_ID, scheduled => false);将数据块转换回行式存储以进行更新
CALL convert_to_rowstore('_timescaledb_internal._hyper_2_2_chunk');更新您已添加到行式存储的数据块中的数据
最佳实践是构建您的 `INSERT` 语句以包含适当的分区键值,例如时间戳。TimescaleDB 会将数据添加到正确的数据块中
INSERT INTO metrics (time, value)VALUES ('2025-01-01T00:00:00', 42);将更新后的数据块转换回列式存储
CALL convert_to_columnstore('_timescaledb_internal._hyper_1_2_chunk');重启自动将数据块转换为列式存储的作业
SELECT alter_job(JOB_ID, scheduled => true);
名称 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
chunk | REGCLASS | - | ✖ | 要移动到行式存储的数据块名称。 |
if_compressed | BOOLEAN | true | ✔ | 设置为 false ,如果 chunk 不在列式存储中,则此作业将报错而非发出警告 |
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面
。