Timescale Cloud:性能、规模、企业级
自托管产品
MST
您可以通过声明要按哪个列进行分段,来在单个超表上启用压缩。
本页面使用了一个名为 example
的示例表,并按 device_id
列进行分段。然后,所有超过七天的块都被标记为自动压缩。源数据组织如下:
time | device_id | cpu | disk_io | energy_consumption |
---|---|---|---|---|
8/22/2019 0:00 | 1 | 88.2 | 20 | 0.8 |
8/22/2019 0:05 | 2 | 300.5 | 30 | 0.9 |
在
psql
提示符下,修改表:ALTER TABLE example SET (timescaledb.compress,timescaledb.compress_segmentby = 'device_id');添加一个压缩策略,以压缩超过七天的块:
SELECT add_compression_policy('example', INTERVAL '7 days');
有关更多信息,请参阅 ALTER TABLE (compression)
和 add_compression_policy
的 API 参考。
要查看您设置的压缩策略:
SELECT * FROM timescaledb_information.jobsWHERE proc_name='policy_compression';
有关更多信息,请参阅 timescaledb_information.jobs
的 API 参考。
要暂时禁用压缩策略,请找到相应的作业 ID,然后调用 alter_job
来暂停它:
SELECT * FROM timescaledb_information.jobs where proc_name = 'policy_compression' AND relname = 'example'
SELECT alter_job(<job_id>, scheduled => false);
要再次启用它:
SELECT alter_job(<job_id>, scheduled => true);
要删除压缩策略,请使用 remove_compression_policy
:
SELECT remove_compression_policy('example');
有关更多信息,请参阅 remove_compression_policy
的 API 参考。
您可以完全禁用单个超表上的压缩。此命令仅在当前没有压缩块时才有效:
ALTER TABLE <EXAMPLE> SET (timescaledb.compress=false);
如果您的超表包含压缩块,您需要先单独解压缩每个块,然后才能关闭压缩。
关键词