Тут мы видим как мы можем к сохраненному одномерному массиву добавлять значение:
create table a1 (val bigint[]);
insert into a1 (val) values (array[1]);
select array_append(val, 2::bigint) from a1;
 array_append 
--------------
 {1,2}
(1 строка)А вот тут с двумерным массивом это не получается:
create table a2 (val bigint[][]);
insert into a2 (val) values (array[array[1]]);
select val from a2;
  val  
-------
 {{1}}
(1 строка)
select array_append(val[1], 2::bigint) from a2;
ОШИБКА:  функция array_append(bigint, bigint) не существует
СТРОКА 1: select array_append(val[1], 2::bigint) from a2;
                 ^
ПОДСКАЗКА:  Функция с данными именем и типами аргументов не найдена. Возможно, вам следует добавить явные приведения типов.
как исправить последний запрос чтобы он вернул 1,2 ?
