Timescale Cloud:性能、扩展性、企业级
自托管产品
MST
创建一个策略,在后台按计划删除特定超表或连续聚合中超出给定时间间隔的块。更多信息请参见 drop_chunks 部分。此策略实现数据保留,并按计划删除数据。每个超表只能存在一个保留策略。
名称 | 类型 | 描述 |
---|---|---|
relation | REGCLASS | 要为其创建策略的超表或连续聚合的名称 |
drop_after | INTERVAL 或 INTEGER | 策略运行时,完全超出此时间间隔的块将被删除 |
schedule_interval | INTERVAL | 上次执行的结束时间与下次开始时间之间的间隔。默认为 NULL。 |
initial_start | TIMESTAMPTZ | 策略首次运行的时间。默认为 NULL。如果省略,则计划间隔为上次执行的结束时间与下次开始时间之间的间隔。如果提供,它将作为计算 `next_start` 的原点。 |
timezone | TEXT | 一个有效时区。如果也指定了 initial_start ,则保留策略的后续执行将与其初始开始时间对齐。但是,夏令时 (DST) 更改可能会使此对齐发生偏移。如果您想缓解此问题,请设置为一个有效的时区。如果省略,则执行 UTC 分桶。默认为 NULL 。 |
drop_after
参数应根据超表时间列的类型进行不同的指定
- 对于带有 TIMESTAMP、TIMESTAMPTZ 和 DATE 时间列的超表:时间间隔应为 INTERVAL 类型。
- 对于带有基于整数的时间戳的超表:时间间隔应为整数类型(这需要设置 integer_now_func)。
名称 | 类型 | 描述 |
---|---|---|
if_not_exists | BOOLEAN | 如果 drop_chunks_policy 已存在,设置为 true 可避免错误。此时将发出通知。默认为 false 。 |
drop_created_before | INTERVAL | 创建时间早于此截止点的块将被删除。截止点计算为 now() - drop_created_before 。默认为 NULL 。尚不支持连续聚合。 |
列 | 类型 | 描述 |
---|---|---|
job_id | INTEGER | 为实现此策略而创建的 TimescaleDB 后台任务 ID |
创建数据保留策略以丢弃超过 6 个月的数据块
SELECT add_retention_policy('conditions', drop_after => INTERVAL '6 months');
创建带有基于整数时间列的数据保留策略
SELECT add_retention_policy('conditions', drop_after => BIGINT '600000');
创建数据保留策略以丢弃 6 个月前创建的数据块
SELECT add_retention_policy('conditions', drop_created_before => INTERVAL '6 months');
请注意,当使用 drop_after
时,分区时间列中存在的时间数据范围用于选择目标块。而当使用 drop_created_before
时,则选择 3 个月前创建的块。
关键词