Это зависит от того, какую версию PostgreSQL вы используете. Если вы используете последние версии (все, что поддерживается в настоящее время), вы можете использовать array_agg(col)
Например:
select array_agg(test) from test;
array_agg
--------------------------------------------------------------------------------
-------
{4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
32,33}
(1 row)
Если вы используете более старую версию, вам может потребоваться написать собственный агрегат array_agg или аналогичный. Вот способ написать файл с именем as_array:
CREATE AGGREGATE as_array (
BASETYPE = ANYELEMENT,
STYPE = ANYARRAY,
SFUNC = ARRAY_APPEND,
INITCOND = '{}'
);