time_bucket_gapfill и интерполировать

#timescaledb

Вопрос:

Я использую timescaledb версии 2.4.1 на postgresql 13.4

Я хочу интерполировать ежедневные значения измерителя электропроводности с помощью интерполяции (в этом примере я пропускаю много дней). Я обычно получаю ежедневные значения в полночь (00:00:00 00), и если значения не существует, мне нужно интерполированное значение. Входные данные являются:

 2019-11-04 09:00:02 00 10796491 2020-01-28 10:00:00 00 10807703 2020-01-28 11:00:00 00 10818215 2020-01-28 12:00:00 00 10839014 ... ... ... 2020-01-31 22:00:00 00 12554884 2020-01-31 23:00:00 00 12574581 2020-02-01 00:00:00 00 12593773  

Использование запроса:

 select time_bucket_gapfill('1 day',dtstamp) as stamp,  interpolate(min(value),  (select (dtstamp,value) from timedata td where td.dtstamp lt; '2020-01-01' order by td.dtstamp desc limit 1),  (select (dtstamp,value) from timedata td where td.dtstamp gt; '2020-02-01' order by td.dtstamp limit 1))  as val from timedata  where dtstamp gt;= '2020-01-01' AND dtstamp lt;= '2020-02-01' group by stamp  

Я получаю значения:

 2020-01-01 00:00:00 00 10804125.758253396 2020-01-02 00:00:00 00 10804258.248688456 2020-01-03 00:00:00 00 10804390.739123514 ... ... ... 2020-01-27 00:00:00 00 10807570.509564942 2020-01-28 00:00:00 00 10807703 2020-01-29 00:00:00 00 11072810 2020-01-30 00:00:00 00 11559716 2020-01-31 00:00:00 00 12062945 2020-02-01 00:00:00 00 12593773  

Значение 2020-01-28 00:00:00 00 совпадает со значением 2020-01-23 10:00:00 00, указывающим на то, что интерполяция не производилась. Точное вычисление начального значения в 2020-01-01 00:00:00 00 с даты до и после также не совпадает с результатом по шкале времени. Похоже, что все значения были интерполированы в 10:00, но отображаются как 00:00.

Неверен ли запрос? Есть ли способ сделать то, что мне нужно (ежедневные значения в 00:00 — интерполируются, если их нет)?