【发布时间】: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