Timescale Cloud:性能、规模、企业级

自托管产品

MST

TimescaleDB v2.18.0 起为旧版 API,已被优化数据以进行实时分析取代。

您可以通过声明要按哪个列进行分段,来在单个超表上启用压缩。

本页面使用了一个名为 example 的示例表,并按 device_id 列进行分段。然后,所有超过七天的块都被标记为自动压缩。源数据组织如下:

timedevice_idcpudisk_ioenergy_consumption
8/22/2019 0:00188.2200.8
8/22/2019 0:052300.5300.9
  1. psql 提示符下,修改表:

    ALTER TABLE example SET (
    timescaledb.compress,
    timescaledb.compress_segmentby = 'device_id'
    );
  2. 添加一个压缩策略,以压缩超过七天的块:

    SELECT add_compression_policy('example', INTERVAL '7 days');

有关更多信息,请参阅 ALTER TABLE (compression)add_compression_policy 的 API 参考。

要查看您设置的压缩策略:

SELECT * FROM timescaledb_information.jobs
WHERE 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);

如果您的超表包含压缩块,您需要先单独解压缩每个块,然后才能关闭压缩。

关键词

此页面有问题?报告问题 或 编辑此页面 在 GitHub 上。