Прехвърлянето ви е грешно, не можете да разместите text
.
Опитайте
INSERT INTO mytable (x, y)
SELECT
unnest('{x1, x2, x3}' :: TEXT []),
unnest('{y1, y2, y3}' :: TEXT []);
Имайте предвид, че тази форма на select се държи странно, ако и двата масива не са с еднаква дължина.
Функцията unnest в postgres 9.4+ ви позволява да разширявате множество масиви, като използвате по един масив на изходна колона:
INSERT INTO mytable
SELECT *
FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])