WHERE clauses in your queries.
TimescaleDB supports min/max range tracking for the smallint, int,
bigint, serial, bigserial, date, timestamp, and timestamptz data types. The
min/max ranges are calculated when a belonging to
this is added to the columnstore using the convert_to_columnstore function.
The range is stored in start (inclusive) and end (exclusive) form in the
chunk_column_stats catalog table.
This way you store the min/max values for such columns in this catalog
table at the per- level. These min/max range values do
not participate in partitioning of the data. These ranges are
used for skipping when the WHERE clause of an SQL query specifies
ranges on the column.
A DROP COLUMN
on a column with statistics tracking enabled on it ends up removing all relevant entries
from the catalog table.
A convert_to_rowstore invocation on a compressed resets its entries
from the chunk_column_stats catalog table since now it’s available for DML and the
min/max range values can change on any further data manipulation in the .
By default, this feature is disabled. To enable skipping, set timescaledb.enable_chunk_skipping = on in
postgresql.conf. When you upgrade from a database instance that uses compression but does not support
skipping, you need to recompress the previously compressed s for skipping to work.
Samples
In this sample, you create theconditions with partitioning on the time column. You then specify and
enable additional columns to track ranges for.
compress_after in the
policy. This columnar format enables fast scanning and
aggregation, optimizing performance for analytical workloads while also saving significant storage space. In the
conversion, s are compressed by up to 98%, and organized for efficient, large-scale queries.
You can customize this policy later using alter_job. However, to change after or
created_before, the compression settings, or the the policy is acting on, you must
remove the columnstore policy and add a new one.
You can also manually convert s in a to the .