आपकी कास्ट गलत है, आप text
को अननेस्ट नहीं कर सकते ।
कोशिश करें
INSERT INTO mytable (x, y)
SELECT
unnest('{x1, x2, x3}' :: TEXT []),
unnest('{y1, y2, y3}' :: TEXT []);
ध्यान दें कि चयन का यह रूप अजीब तरह से व्यवहार करता है यदि दोनों सरणी समान लंबाई नहीं हैं।
पोस्टग्रेज 9.4+ में अननेस्ट फ़ंक्शन आपको प्रति आउटपुट कॉलम में एक सरणी का उपयोग करके कई सरणियों का विस्तार करने की अनुमति देता है:
INSERT INTO mytable
SELECT *
FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])