Timescale 云:性能、规模、企业级

自托管产品

MST

在 Timescale 2.7 及更高版本中,连续聚合使用一种新格式,该格式可提高性能并使其与更多 SQL 查询兼容。在旧版 TimescaleDB 中创建的连续聚合,或者在新版本中创建但将 `timescaledb.finalized` 选项设置为 `false` 的连续聚合,仍使用旧格式。

要将连续聚合从旧格式迁移到新格式,您可以使用此过程。它会自动复制您的数据和策略。在迁移进行期间,您可以继续使用连续聚合。

连接到您的数据库并运行

CALL cagg_migrate('<CONTINUOUS_AGGREGATE_NAME>');
警告

2.8.0 版本中的 `cagg_migrate()` 存在已知问题。在使用它之前,请升级到 2.8.1 或更高版本。

迁移过程提供了两个布尔配置参数:`override` 和 `drop_old`。默认情况下,您的新连续聚合的名称是旧连续聚合的名称加上 `_new` 后缀。

将 `override` 设置为 true 以将新的连续聚合重命名为原始名称。旧的连续聚合将重命名为以 `_old` 为后缀的名称。

要同时重命名并完全删除旧连续聚合,请将这两个参数都设置为 true。请注意,`drop_old` 必须与 `override` 一起使用。

要检查连续聚合迁移的进度,请查询迁移规划表

SELECT * FROM _timescaledb_catalog.continuous_agg_migrate_plan_step;

使用 `cagg_migrate` 将连续聚合从旧格式迁移到新格式时,您可能会遇到权限错误。执行迁移的用户必须具有以下权限:

  • 对表 `_timescale_catalog.continuous_agg_migrate_plan` 和 `_timescale_catalog.continuous_agg_migrate_plan_step` 具有选择、插入和更新权限
  • 对序列 `_timescaledb_catalog.continuous_agg_migrate_plan_step_step_id_seq` 具有使用权限

要解决此问题,请切换到有权授予权限的用户,并向执行迁移的用户授予以下权限:

GRANT SELECT, INSERT, UPDATE ON TABLE _timescaledb_catalog.continuous_agg_migrate_plan TO <USER>;
GRANT SELECT, INSERT, UPDATE ON TABLE _timescaledb_catalog.continuous_agg_migrate_plan_step TO <USER>;
GRANT USAGE ON SEQUENCE _timescaledb_catalog.continuous_agg_migrate_plan_step_step_id_seq TO <USER>;

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面