Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Efectuar copy desde un archivo con más columnas que la tabla

From: Oswaldo <listas(at)soft-com(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Efectuar copy desde un archivo con más columnas que la tabla
Date: 2012-05-18 14:44:18
Message-ID: 4FB66042.8080306@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 16/05/2012 23:16, Daymel Bonne Solís escribió:
> El 16/05/12 17:09, Alvaro Herrera escribió:
>> Excerpts from Daymel Bonne Solís's message of mié may 16 16:59:28
>> -0400 2012:
>>> El 16/05/12 16:33, Daymel Bonne Solís escribió:
>>>> Lamentablemente es así. Creo que ahí se puede mejorar, porque es un
>>>> escenario bastante común. Que opinan al respecto?
>>> Revisando la documentación, encontré que lo dice claramente:
>>>
>>> " (...) COPY FROM will raise an error if any line of the input file
>>> contains more or fewer columns than are expected. (...) ".
>> ... lo cual no quiere decir que no pueda cambiarse. Pero si vas a
>> proponer algo, tiene que ser algo útil en general. ¿Cuál era tu
>> propuesta?
>>
> Mi propuesta es que el comando COPY ignore las columnas sobrantes del
> fichero de entrada y no lance el error de columnas sobrantes.
> No se si puedo ser más claro. :D
>

Y ¿cuales son las columnas sobrantes? ¿las ultimas?, ¿quizá las que
sobren en otros casos sean las primeras?, ¿o estén intercaladas?

También puede interesar filtrar las lineas, que el copy solo importe las
que cumplen una o varias condiciones.

Mi opinión es que copies el archivo entero a una tabla temporal y
después ejecutes: "insert into latabla .... select ... from tabla
temporal", ahi ya seleccionas columnas, puedes filtrar, etc. y
haciéndolo todo en una unica transacción no debes tener problemas de
velocidad.

--
Oswaldo

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2012-05-18 14:48:13 Re: [SQL:Standard] merge
Previous Message Edwin Quijada 2012-05-18 13:19:09 RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Efectuar copy desde un archivo con más columnas que la tabla