O que você quer, não é possível. Mas você provavelmente não entendeu a
time
digite
:representa um ponto de tempo preciso em um dia. Não faz muito sentido somar duas (ou mais) vezes. f.ex. '14:00' + '14:00' = '28:00'
(mas não há 28 horas em um dia). O que você provavelmente quer é
interval
(que representa intervalos de tempo; horas, minutos ou mesmo anos). sum()
suporta interval
argumentos. Se você usar intervalos, é simples assim:
SELECT sum(interval_col) FROM my_table;
Embora, se você seguir o
time
type (mas você não tem motivo para fazer isso), você pode convertê-lo em interval
para calcular com ele:SELECT sum(time_col::interval) FROM my_table;
Mas, novamente, o resultado será
interval
, porque time
os valores não podem exceder a 24ª hora de um dia. Observação :O PostgreSQL até fará a conversão para você, então
sum(time_col)
deve funcionar também, mas o resultado é interval
neste caso também.