Прежде всего, есть одна ошибка, слово «as» неверно в запросе создания таблицы. Вам лучше написать это:
create table footable (
x integer,
y footype []
);
Вставить данные в таблицу:
insert into footable(x, y) values(10, ARRAY[ ROW(1.0,2.0), ROW(3,4)]::footype[] );
# select * from footable;
x | y
----+-------------------
10 | {"(1,2)","(3,4)"}
(1 row)
Получить данные по полям:
# select x, y[1], y[1].a, y[1].b from footable;
x | y | a | b
----+-------+---+---
10 | (1,2) | 1 | 2
(1 row)