PostgreSQL: 13.4
Escala de tiempoDB: 2.4.2
Al crear una vista que se basa en una vista existente, no puedo AGRUPAR POR un campo time_bucket. En el siguiente ejemplo, puede ver tres filas cada una a las 20:00:00, deberían ser una fila con el tráfico contado. La Vista de 5 minutos hace eso según lo previsto para los datos sin procesar.
Como ejemplo, aquí cuento el tráfico en un time_bucket de 5 minutos (los datos irrelevantes se omiten en las imágenes):
Con:
CREATE MATERIALIZED VIEW wifi_traffic_5m WITH (timescaledb.continuous) AS SELECT time_bucket('5 minutes', "timestamp") AS bucket_time, clientid, customer, devicecpuid, SUM(traffic) AS traffic FROM ht_wifi_traffic_processed GROUP BY bucket_time, clientid, customer, devicecpuidAhora quería crear una vista de 15 minutos basada en la vista de 5 minutos, pero obtengo este resultado:
Con:
CREATE VIEW wifi_traffic_15m AS SELECT time_bucket('15 minutes', bucket_time) AS bucket_time, clientid, customer, devicecpuid, SUM(traffic) AS traffic FROM wifi_traffic_5m GROUP BY bucket_time, clientid, customer, devicecpuidBueno, poco después de publicar la pregunta, encontré la solución yo mismo. El nombre del período de tiempo no puede ser el mismo en ambas vistas.
Si edito la segunda vista de la siguiente manera:
CREATE VIEW wifi_traffic_15m AS SELECT time_bucket('15 minutes', bucket_time) AS new_bucket_time, clientid, customer, devicecpuid, SUM(traffic) AS traffic FROM wifi_traffic_5m GROUP BY new_bucket_time, clientid, customer, devicecpuidFunciona según lo previsto.