Estuve revisando el archivo csv en Windows (donde fue generado el archivo) y 
veo al final q el archivo tiene una linea en blanco después de la ultima línea 
del archivo. Entonces cuando elimino esa línea y grabo, ya no lanza ese error q 
había reportado al momento de generar el copy.
Estuve viendo dicho archivo con vim en ubuntu 12.04, pero no se veía ninguna 
linea en blanco después de la linea final, lo cual no me explico siendo un 
editor de texto bastante bueno.


ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 


Date: Mon, 18 Feb 2013 01:03:13 +0000
From: [email protected]
Subject: Re: [pgsql-es-ayuda] copy archivo csv
To: [email protected]; [email protected]
CC: [email protected]

Esa opción o usar fzpgloader


        De: Anthony <[email protected]>
 Para: José Fermín Francisco Ferreras <[email protected]> 
CC: Lista PostgreSQL <[email protected]> 
 Enviado: Sábado 16 de febrero de 2013 16:10
 Asunto: Re: [pgsql-es-ayuda] copy archivo csv
   

  

    
  
  
    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