В настоящее время я работаю над проектом, в котором информация IOT хранится как JSON в Postgresql, и я решил использовать расширение шкалы времени, потому что мне требуются некоторые функции, такие как интерполяция, когда компонент выключается или около того в течение часа или около того , Я пытаюсь разделить мои данные по 1 часам, и значение поля является одним из ключей в поле JSON, но безрезультатно. Не могли бы вы помочь, если я использую функцию time_bucket_gapfill, я получаю очень непредсказуемые временные интервалы. Вот мой запрос
SELECT
time_bucket_gapfill(
'1 hour ', module_timestamp,
start => '2020-04-20 15:00',
finish => '2020-04-21 17:00') AS hour,
interpolate(CAST(component_data->'common'->'bat' AS INT)) AS avg_val
FROM main_componentmessage order by hour;
и вот результат, который я получаю
hour | avg_val
------------------------+---------
2020-03-10 09:00:00+00 | 30
2020-04-20 17:00:00+00 |
2020-04-20 18:00:00+00 | 50
Я делаю не понимаю, почему параметр start не действует как верхний предел, и я не понимаю, почему средний ряд не интерполируется до 40