sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo inserto en una tabla valores de dos matrices en Postgres?

Tu conversión es incorrecta, no puedes anular text .

Prueba

INSERT INTO mytable (x, y)
  SELECT
    unnest('{x1, x2, x3}' :: TEXT []),
    unnest('{y1, y2, y3}' :: TEXT []);

Tenga en cuenta que esta forma de selección se comporta de manera extraña si ambas matrices no tienen la misma longitud.

La función unnest en postgres 9.4+ le permite expandir múltiples arreglos, usando un arreglo por columna de salida:

INSERT INTO mytable
  SELECT *
  FROM unnest('{x1, x2, x3}' :: TEXT [], '{y1, y2, y3, y4}' :: TEXT [])