Обновить индекс за все время в гипертаблице TimescaleDB / PostgreSQL? - PullRequest
2 голосов
/ 29 января 2020

Я использую базу данных временных рядов с открытым исходным кодом с именем TimescaleDB (на основе PostgreSQL).

Предполагается, что эта таблица:

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

Затем я преобразую его в гипертаблицу с помощью:

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

Затем вставьте некоторые данные (более 5 миллионов строк):

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 индекс минус 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
[...]

Какой метод наиболее эффективен (продолжительность) изменить индекс time в этой гипертаблице , чтобы удалить интервал 1h для всех данных в таблице order?

1 Ответ

0 голосов
/ 04 февраля 2020

не уверен, что секционирование доступно в шкале времени, что облегчит процесс, разместив разделы на основе временного или даже диапазона дат.

Посмотрите, если это одна из доступных опций, вы можете просто удалить раздел из диапазона и вуаля!

...