timescaledb_information.chunks
Get metadata about the chunks of hypertables.
This view shows metadata for the chunk’s primary time-based dimension. For information about a hypertable’s secondary dimensions, the dimensions view should be used instead.
If the chunk’s primary dimension is of a time datatype, range_start and range_end are set. Otherwise, if the primary dimension type is integer based, range_start_integer and range_end_integer are set.
Available columns
| Name | Type | Description |
|---|---|---|
hypertable_schema |
TEXT | Schema name of the hypertable |
hypertable_name |
TEXT | Table name of the hypertable |
chunk_schema |
TEXT | Schema name of the chunk |
chunk_name |
TEXT | Name of the chunk |
primary_dimension |
TEXT | Name of the column that is the primary dimension |
primary_dimension_type |
REGTYPE | Type of the column that is the primary dimension |
range_start |
TIMESTAMP WITH TIME ZONE | Start of the range for the chunk’s dimension |
range_end |
TIMESTAMP WITH TIME ZONE | End of the range for the chunk’s dimension |
range_start_integer |
BIGINT | Start of the range for the chunk’s dimension, if the dimension type is integer based |
range_end_integer |
BIGINT | End of the range for the chunk’s dimension, if the dimension type is integer based |
is_compressed |
BOOLEAN | Is the data in the chunk compressed? Note that for distributed hypertables, this is the cached compression status of the chunk on the access node. The cached status on the access node and data node is not in sync in some scenarios. For example, if a user compresses or decompresses the chunk on the data node instead of the access node, or sets up compression policies directly on data nodes. Use chunk_compression_stats() function to get real-time compression status for distributed chunks. |
chunk_tablespace |
TEXT | Tablespace used by the chunk |
data_nodes |
ARRAY | Nodes on which the chunk is replicated. This is applicable only to chunks for distributed hypertables |
Sample usage
Get information about the chunks of a hypertable.
2. CREATE TABLESPACE tablespace1 location '/usr/local/pgsql/data1';
4. CREATE TABLE hyper_int (a_col integer, b_col integer, c integer);
6. SELECT table_name from create_hypertable('hyper_int', 'a_col', chunk_time_interval=> 10);
8. CREATE OR REPLACE FUNCTION integer_now_hyper_int() returns int LANGUAGE SQL STABLE as $$ SELECT coalesce(max(a_col), 0) FROM hyper_int $$;
10. SELECT set_integer_now_func('hyper_int', 'integer_now_hyper_int');
12. INSERT INTO hyper_int SELECT generate_series(1,5,1), 10, 50;
14. SELECT attach_tablespace('tablespace1', 'hyper_int');
16. INSERT INTO hyper_int VALUES( 25 , 14 , 20), ( 25, 15, 20), (25, 16, 20);
18. SELECT * FROM timescaledb_information.chunks WHERE hypertable_name = 'hyper_int';
20. -[ RECORD 1 ]----------+----------------------
22. hypertable_schema | public
24. hypertable_name | hyper_int
26. chunk_schema | _timescaledb_internal
28. chunk_name | _hyper_7_10_chunk
30. primary_dimension | a_col
32. primary_dimension_type | integer
34. range_start |
36. range_end |
38. range_start_integer | 0
40. range_end_integer | 10
42. is_compressed | f
44. chunk_tablespace |
46. data_nodes |
48. -[ RECORD 2 ]----------+----------------------
50. hypertable_schema | public
52. hypertable_name | hyper_int
54. chunk_schema | _timescaledb_internal
56. chunk_name | _hyper_7_11_chunk
58. primary_dimension | a_col
60. primary_dimension_type | integer
62. range_start |
64. range_end |
66. range_start_integer | 20
68. range_end_integer | 30
70. is_compressed | f
72. chunk_tablespace | tablespace1
74. data_nodes |
