ALTER TABLE (Compression)
‘ALTER TABLE’ statement is used to turn on compression and set compression options.
The syntax is:
2. ALTER TABLE <table_name> SET (timescaledb.compress, timescaledb.compress_orderby = '<column_name> [ASC | DESC] [ NULLS { FIRST | LAST } ] [, ...]',
4. timescaledb.compress_segmentby = '<column_name> [, ...]'
6. );
Required arguments
| Name | Type | Description |
|---|---|---|
timescaledb.compress |
BOOLEAN | Enable/Disable compression |
Optional arguments
| Name | Type | Description |
|---|---|---|
timescaledb.compress_orderby |
TEXT | Order used by compression, specified in the same way as the ORDER BY clause in a SELECT query. The default is the descending order of the hypertable’s time column. |
timescaledb.compress_segmentby |
TEXT | Column list on which to key the compressed segments. An identifier representing the source of the data such as device_id or tags_id is usually a good candidate. The default is no segment by columns. |
Parameters
| Name | Type | Description |
|---|---|---|
table_name |
TEXT | Hypertable that supports compression |
column_name |
TEXT | Column used to order by and/or segment by |
Sample usage
Configure a hypertable that ingests device data to use compression.
2. ALTER TABLE metrics SET (timescaledb.compress, timescaledb.compress_orderby = 'time DESC', timescaledb.compress_segmentby = 'device_id');
