【问题标题】:Update all time index in a TimescaleDB/PostgreSQL hypertable?更新 TimescaleDB/PostgreSQL 超表中的所有时间索引?
【发布时间】:2020-05-15 06:02:52
【问题描述】:

我正在使用一个名为TimescaleDB(基于PostgreSQL)的开源时间序列数据库。

假设这张桌子:

CREATE TABLE order (
  time                  TIMESTAMPTZ NOT NULL,
  product               text,
  price                 DOUBLE PRECISION,
  qty                   DOUBLE PRECISION 
);

接下来,我将其转换为超表:

SELECT create_hypertable('order', 'time');

接下来,插入一些数据(超过 500 万行):

2020-01-01T12:23:52.1235,product1,10,1
2020-01-01T12:23:53.5496,product2,52,7
2020-01-01T12:23:55.3512,product1,23,5
[...]

然后我需要更新数据以获得 time 索引 minus 1h 间隔,如下所示:

2020-01-01T11:23:52.1235,product1,10,1
2020-01-01T11:23:53.5496,product2,52,7
2020-01-01T11:23:55.3512,product1,23,5
[...]

改变hypertable 中的time 索引以删除order 表内所有数据上的1h 间隔的最有效方法(持续时间)是什么?

【问题讨论】:

  • 您是总是删除超过一小时的数据,还是只想在新数据导入后删除超过一小时的数据?
  • 我会只为实际数据更改索引...期货新数据(将在更正后插入)将有一个很好的时间索引。

标签: postgresql indexing timescaledb hypertable


【解决方案1】:

不确定 Timescale 中是否可用分区,这将通过基于时间范围甚至日期范围放置分区来简化过程。

看看这是否是可用的选项之一,您可以根据范围删除分区,瞧!

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 2022-01-18
    • 2021-08-07
    • 2019-07-23
    • 2021-04-30
    • 2018-11-10
    • 2021-08-31
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多