За да запазите същото измерение на вашия масив, не можете директно да използвате array_agg() , така че първо unnest вашите масиви и приложете distinct за премахване на дубликати (1). При външна заявка това е времето за агрегиране. За да запазите подреждането на стойностите, включете order by в рамките на агрегатната функция:
select time, array_agg(col order by col) as col
from (
select distinct time, unnest(col) as col
from yourtable
) t
group by time
order by time
(1) Ако нямате нужда от премахване на дубликати, просто премахнете distinct дума.