当您使用连续聚合时,您可以删除视图,或者您可以从底层超表或连续聚合本身中删除原始数据。 刷新 和数据保留策略的组合可以帮助您对数据进行降采样。 这使您可以将历史数据保持在比最近数据更低的粒度。

但是,您应该注意,如果保留策略可能从您的超表中删除连续聚合中需要的原始数据。

为了简化设置降采样的过程,您可以使用 可视化工具和代码生成器

您可以使用 DROP MATERIALIZED VIEW 命令删除连续聚合视图。 此命令还会删除在连续聚合上定义的刷新策略。 它不会从底层超表中删除数据。

  1. psql 提示符下,删除视图

    DROP MATERIALIZED VIEW view_name;

如果您从连续聚合中使用的超表中删除数据,可能会导致连续聚合视图出现问题。 在许多情况下,删除底层数据会将聚合替换为 NULL 值,这可能会导致视图中出现意外结果。

您可以使用常用的 drop_chunks 从超表中删除数据,但在执行此操作之前,请务必检查数据块是否在仍需要数据的连续聚合的刷新窗口内。 如果您手动刷新连续聚合,这一点也很重要。 在包含已删除数据块的区域上调用 refresh_continuous_aggregate 会在不包含已删除数据的情况下重新计算聚合。

如果连续聚合在由于保留策略而删除数据时正在刷新,则聚合将更新以反映数据的丢失。 如果您需要在删除底层数据后保留连续聚合,请将聚合策略的 start_offset 值设置为小于保留策略的 drop_after 参数的间隔。

有关更多信息,请参阅 数据保留文档

设置降采样和数据保留

通过保留降采样的历史数据并删除原始数据,最大限度地利用您的存储空间。

一旦您 创建了连续聚合,您就可以自动降采样您的数据。 输入连续聚合定义中的时间桶。 然后,调整滑块以选择您希望如何更新连续聚合,以及您希望保留原始数据和降采样数据多长时间。

时间桶间隔的单位
自动保持降采样数据与 30 分钟到 12 小时前的新数据同步更新。
删除早于 1 年的原始数据。
删除早于 5 年的降采样数据。
SELECT add_retention_policy('hypertable_name', INTERVAL '1 year');
SELECT add_continuous_aggregate_policy('continuous_aggregate_name',
start_offset => INTERVAL '12 hours',
end_offset => INTERVAL '30 minutes',
schedule_interval => INTERVAL '10 seconds'
);
SELECT add_retention_policy('continuous_aggregate_name', INTERVAL '5 years');

关键词

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