Skip to content

alter_policies()

Alter refresh, compression, or data retention policies on a continuous aggregate

Early access 2.10.0

Alter refresh, columnstore, or data retention policies on a continuous aggregate. The altered columnstore and retention policies apply to the continuous aggregate, not to the original hypertable.

timescaledb_experimental.alter_policies(
relation REGCLASS,
if_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 with an existing columnstore policy, alter the columnstore policy to compress data older than 16 days:

SELECT timescaledb_experimental.alter_policies(
'continuous_agg_max_mat_date',
compress_after => '16 days'::interval
);

The syntax is:

SELECT timescaledb_experimental.alter_policies(
relation = '<view_name>',
refresh_start_offset = <interval>,
refresh_end_offset = <interval>,
compress_after = <interval>,
drop_after = <interval>
);
NameTypeDefaultRequiredDescription
relationREGCLASS-The continuous aggregate that you want to alter policies for
if_existsBOOLfalse-When true, prints a warning instead of erroring if the policy doesn’t exist.
refresh_start_offsetINTERVAL or INTEGER--The start of the continuous aggregate refresh window, expressed as an offset from the policy run time.
refresh_end_offsetINTERVAL or INTEGER--The 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 INTEGER--continuous aggregate chunks are compressed into the columnstore if they exclusively contain data older than this interval.
drop_afterINTERVAL or INTEGER--continuous 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.