Estou enfrentando um problema ao criar um agregado contínuo em timescaledb (com base em visualizações materializadas) quando a coluna de tempo de origem e a nova coluna de tempo têm o mesmo nome abaixo:
CREATE MATERIALIZED VIEW IF NOT EXISTS minute_table
WITH (timescaledb.continuous) AS
SELECT
time_bucket(INTERVAL '1 minute', my_time_col) AS my_time_col,
...
FROM source_table
GROUP BY my_time_col
WITH NO DATA;
Estou tendo o erro a seguir:
ERROR: continuous aggregate view must include a valid time bucket function
Mas se eu alterar o novo nome da coluna de tempo, como no exemplo abaixo, funcionará:
CREATE MATERIALIZED VIEW IF NOT EXISTS minute_table
WITH (timescaledb.continuous) AS
SELECT
time_bucket(INTERVAL '1 minute', my_time_col) AS my_time_col_asdf,
...
FROM source_table
GROUP BY my_time_col_asdf
WITH NO DATA;
Como posso contornar isso? Eu preciso que a fonte e as novas colunas de tempo tenham o mesmo nome...
Eu descobri.
Existem duas maneiras se você quiser manter o mesmo nome em ambas as colunas:
GROUP BY time_bucket(INTERVAL '1 minute', my_time_col)
GROUP BY 1
O primeiro mais robusto o segundo mais curto.