Latest

Tiger Cloud: Performance, Scale, Enterprise, Free

Self-hosted products

MST

Add refresh, compression, and data retention policies to a continuous aggregate in one step. The added compression and retention policies apply to the continuous aggregate, not to the original hypertable.

Warning

This experimental function will be removed in future releases. Please use the add_continuous_aggregate_policy() function to add a policy.

timescaledb_experimental.add_policies(
relation REGCLASS,
if_not_exists BOOL = false,
refresh_start_offset "any" = NULL,
refresh_end_offset "any" = NULL,
compress_after "any" = NULL,
drop_after "any" = NULL)
) RETURNS BOOL

Given a continuous aggregate named example_continuous_aggregate, add three policies to it:

  1. Regularly refresh the continuous aggregate to materialize data between 1 day and 2 days old.
  2. Compress data in the continuous aggregate after 20 days.
  3. Drop data in the continuous aggregate after 1 year.
SELECT timescaledb_experimental.add_policies(
'example_continuous_aggregate',
refresh_start_offset => '1 day'::interval,
refresh_end_offset => '2 day'::interval,
compress_after => '20 days'::interval,
drop_after => '1 year'::interval
);
NameTypeDescription
relationREGCLASSThe continuous aggregate that the policies should be applied to
NameTypeDescription
if_not_existsBOOLWhen true, prints a warning instead of erroring if the continuous aggregate doesn't exist. Defaults to false.
refresh_start_offsetINTERVAL or INTEGERThe start of the continuous aggregate refresh window, expressed as an offset from the policy run time.
refresh_end_offsetINTERVAL or INTEGERThe end of the continuous aggregate refresh window, expressed as an offset from the policy run time. Must be greater than refresh_start_offset.
compress_afterINTERVAL or INTEGERContinuous aggregate chunks are compressed if they exclusively contain data older than this interval.
drop_afterINTERVAL or INTEGERContinuous aggregate chunks are dropped if they exclusively contain data older than this interval.

For arguments that could be either an INTERVAL or an INTEGER, use an INTERVAL if your time bucket is based on timestamps. Use an INTEGER if your time bucket is based on integers.

Returns true if successful.

Keywords

Found an issue on this page?Report an issue or Edit this page in GitHub.