あなたのキャストは間違っています、あなたはtext
を見逃すことはできません 。
をお試しください
INSERT INTO mytable (x, y)
SELECT
unnest('{x1, x2, x3}' :: TEXT []),
unnest('{y1, y2, y3}' :: TEXT []);
両方の配列の長さが同じでない場合、この形式のselectは奇妙な動作をすることに注意してください。
postgres 9.4以降のunnest関数を使用すると、出力列ごとに1つの配列を使用して、複数の配列を拡張できます。
INSERT INTO mytable
SELECT *
FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])