У меня есть составной тип, как
CREATE TYPE example AS (id integer, some_stuff integer[]);
Думаю, я могу использовать массив этого типа в качестве аргумента функции. Единственная проблема в том, что я не смог найти способ для создания литерала массива для этого ... Если я попытаюсь получить его из PostgreSQL:
WITH elements AS (
SELECT (12, '{1,2}')::example AS e UNION
SELECT (3, '{3,1}')::example
)
SELECT array_agg(e) FROM elements;
Я получаю следующее:
{"(3,\"{3,1}\")","(12,\"{1,2}\")"}
Но посмотрите:
SELECT E'{"(3,\"{3,1}\")","(12,\"{1,2}\")"}'::example[];
ERROR: malformed array literal: "{"(3,"{3,1}")","(12,"{1,2}")"}"
LINE 1: select E'{"(3,\"{3,1}\")","(12,\"{1,2}\")"}'::example[]
Есть ли способ сделать это?