El 17/02/2013 1:51, José Fermín Francisco Ferreras escribió:
Hola a todos!!

Estoy intentando hacer un copy de un archivo csv q tiene mas de 6 millones de registros a postgresql 9.2, pero a la hora de ejecutarse me lanza el siguiente mensaje:

basedatos=# copy tabla from '/var/lib/postgresql/9.2/main/archivo.csv' with delimiter as ',' CSV QUOTE '"';
ERROR:  memoria agotada
DETALLE: La cadena de 1006420404 bytes es demasiado larga para la recodificación.
CONTEXTO:  COPY tabla, línea 6294863

Como puedo hacer para q me copie todos los registros a la tabla??




ing. José Fermín Francisco Ferreras
San Francisco de Macorís, Rep. Dom.
Has probado hacer la carga con file_fdw(apéndice F.14.file_fdw de la documentación) , donde defines una FOREIGN TABLE y luego cargas poco a poco para tu "tabla", poniendo un filtro en el where o con limit y offset

ejemplo carga de valores en porciones de 1000000 : insert into "tabla" select * from "tu FOREIGN TABLE" limit 1000000 offset N


saludos

Responder a