Eu uso:
CREATE AGGREGATE array_agg_mult(anyarray) (
SFUNC = array_cat,
STYPE = anyarray,
INITCOND = '{}'
);
e consultas como:
SELECT array_agg_mult( ARRAY[[x,x]] ) FROM generate_series(1,10) x;
Observe que você deve agregar matrizes bidimensionais, portanto, muitas vezes você desejará envolver uma matriz de entrada em um
ARRAY[array_to_aggregate]
de elemento único construtor de matriz.