reorder_chunk()
CommunityCommunity functions are available under Timescale Community Edition. Click to learn more.Reorder a single chunk's heap to follow the order of an index. This function acts similarly to the PostgreSQL CLUSTER command , however it uses lower lock levels so that, unlike with the CLUSTER command, the chunk and hypertable are able to be read for most of the process. It does use a bit more disk space during the operation.
This command can be particularly useful when data is often queried in an order
different from that in which it was originally inserted. For example, data is
commonly inserted into a hypertable in loose time order (for example, many devices
concurrently sending their current state), but one might typically query the
hypertable about a specific device. In such cases, reordering a chunk using an
index on (device_id, time)
can lead to significant performance improvement for
these types of queries.
One can call this function directly on individual chunks of a hypertable, but using add_reorder_policy is often much more convenient.
Name | Type | Description |
---|---|---|
chunk | REGCLASS | Name of the chunk to reorder. |
Name | Type | Description |
---|---|---|
index | REGCLASS | The name of the index (on either the hypertable or chunk) to order by. |
verbose | BOOLEAN | Setting to true displays messages about the progress of the reorder command. Defaults to false. |
This function returns void.
Reorder a chunk on an index:
SELECT reorder_chunk('_timescaledb_internal._hyper_1_10_chunk', '_timescaledb_internal.conditions_device_id_time_idx');
Keywords
Found an issue on this page?Report an issue or Edit this page in GitHub.