Timescale Cloud:性能、扩展、企业级
自托管产品
MST
允许您设置一项策略,根据该策略,系统会在数据块达到指定期限后在后台自动压缩该数据块。
压缩策略只能在已启用压缩的 Hypertables(超表)或连续聚合上创建。要为 Hypertables(超表)设置 timescaledb.compress
和其他配置参数,请使用 ALTER TABLE
命令。要在连续聚合上启用压缩,请使用 ALTER MATERIALIZED VIEW
命令。要查看您设置的策略或已存在的策略,请参阅 信息视图。
名称 | 类型 | 描述 |
---|---|---|
hypertable | REGCLASS | hypertable 或连续聚合的名称 |
compress_after | INTERVAL 或 INTEGER | 策略作业压缩数据块的期限。compress_after 是相对于当前时间计算的,因此包含早于 now - {compress_after}::interval 数据的数据块将被压缩。此参数与 compress_created_before 互斥。 |
compress_created_before | INTERVAL | 创建时间早于此截止点的数据块将被压缩。截止点计算为 now() - compress_created_before 。默认为 NULL 。尚不支持连续聚合。此参数与 compress_after 互斥。 |
compress_after
参数的指定方式应根据 hypertable 或连续聚合的时间列类型而异
- 对于时间列类型为 TIMESTAMP、TIMESTAMPTZ 和 DATE 的 hypertables:时间间隔应为 INTERVAL 类型。
- 对于使用基于整数时间戳的 hypertables:时间间隔应为整数类型(这需要设置 integer_now_func)。
名称 | 类型 | 描述 |
---|---|---|
schedule_interval | INTERVAL | 上次执行结束时间与下次开始时间之间的间隔。对于 chunk_interval >= 1 天的 Hypertables(超表),默认为 12 小时;对于所有其他 Hypertables(超表),默认为 chunk_interval / 2 。 |
initial_start | TIMESTAMPTZ | 首次运行策略的时间。默认为 NULL。如果省略,则调度间隔是上次执行结束时间到下次开始时间的间隔。如果提供,则作为计算 next_start 的起始点。 |
timezone | TEXT | 一个有效时区。如果也指定了 initial_start ,则压缩策略的后续执行将与其初始开始时间对齐。但是,夏令时 (DST) 更改可能会使此对齐发生偏移。如果您想缓解此问题,请设置为有效时区。如果省略,则执行 UTC 分桶。默认为 NULL 。 |
if_not_exists | BOOLEAN | 如果 hypertable 上已存在压缩策略,设置为 true 会导致命令以警告而非错误失败。默认为 false。 |
hypercore_use_access_method | BOOLEAN | NULL |
添加策略以压缩 cpu
hypertable 上超过 60 天的数据块。
SELECT add_compression_policy('cpu', compress_after => INTERVAL '60d');
添加策略以压缩 'cpu' hypertable 上 3 个月前创建的数据块。
SELECT add_compression_policy('cpu', compress_created_before => INTERVAL '3 months');
请注意,当使用 compress_after
时,分区时间列中存在的时间数据范围用于选择目标数据块。而当使用 compress_created_before
时,将选择 3 个月前创建的数据块。
为具有基于整数时间列的 hypertable 添加压缩数据块策略
SELECT add_compression_policy('table_with_bigint_time', BIGINT '600000');
为名为 cpu_weekly
的连续聚合添加策略,以压缩超过八周的数据块
SELECT add_compression_policy('cpu_weekly', INTERVAL '8 weeks');
关键词
此页面有问题?报告问题 或 在 GitHub 上编辑此页面
。