Postgresql SQL GROUP BY intervalo de tempo com precisão arbitrária (até milésimos de segundo)

Eu tenho meus dados de medição armazenados na seguinte estrutura:

CREATE TABLE measurements(
measured_at TIMESTAMPTZ,
val INTEGER
);

I  sabe que usando

(uma)date_trunc('hour',measured_at)

E

b)generate_series

Eu seria capaz de agregar meus dados por:

microseconds,
milliseconds
.
.
.

Mas é possível agregar os dados em 5 minutos ou digamos uma quantidade arbitrária de segundos? É possível agregar dados medidos por um múltiplo arbitrário de segundos?

Eu preciso dos dados agregados por diferentes resoluções de tempo para alimentá-los em um FFT ou um modelo AR para ver possíveis sazonalidades.

questionAnswers(8)

yourAnswerToTheQuestion