Skip to content

attach_chunk()

Attach a chunk to a hypertable

Since 2.21.0

Attach a hypertable as a chunk in another hypertable at a given slice in a dimension.

Hypertable structure with time-based partitioning into chunks

The schema, name, existing constraints, and indexes of chunk do not change, even if a constraint conflicts with a chunk constraint in hypertable.

The hypertable you attach chunk to does not need to have the same dimension columns as the hypertable you previously detached chunk from.

While attaching chunk to hypertable:

  • Dimension columns in chunk are set as NOT NULL.
  • Any foreign keys in hypertable are created in chunk.

You cannot:

  • Attaching a chunk that is still attached to another hypertable. First call detach_chunk.
  • Attaching foreign tables are not supported.

Attach a hypertable as a chunk in another hypertable for a specific slice in a dimension:

CALL attach_chunk('ht', '_timescaledb_internal._hyper_1_2_chunk', '{"device_id": [0, 1000]}');

The syntax is:

CALL attach_chunk(
hypertable = '<hypertable_name>',
chunk = '<chunk_name>',
slices = '<jsonb_slices>'
);
NameTypeDefaultRequiredDescription
hypertableREGCLASS-Name of the hypertable to attach chunk to.
chunkREGCLASS-Name of the chunk to attach.
slicesJSONB-The slice chunk will occupy in hypertable. slices cannot clash with the slice already occupied by an existing chunk in hypertable.

This function returns void.