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