Re: Ayuda con COPY

From: Marcos Héctor Trotti <marcostrotti(at)gmail(dot)com>
To: Anthony <asotolongo(at)uci(dot)cu>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con COPY
Date: 2011-11-26 17:53:40
Message-ID: CAJs8MEoF=HNmWL0Epvw3S+pCV_EMNwHAZthhJ43ZTW7fv-06VA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ahí copio el mensaje completo a la lista con la solución, muchas gracias!

El 26 de noviembre de 2011 13:52, Anthony <asotolongo(at)uci(dot)cu> escribió:

> **
> El 26/11/2011 13:48, Marcos Héctor Trotti escribió:
>
> Anthony, Es justamente lo que necesitaba!
> Muchas gracias por ayudarme! Soy nuevo usando postgres y no sabia como
> resolver esto.
> Saludos
>
> El 26 de noviembre de 2011 13:18, Anthony <asotolongo(at)uci(dot)cu> escribió:
>
>> El 26/11/2011 9:39, Marcos Héctor Trotti escribió:
>>
>> Muchas gracias por tu pronta respuesta!
>> Mi problema es que el nombre de archivo.txt deberia cambiar dependiendo
>> de los datos del usuario al cual le este exportando su actividad.El dato
>> del usuario yo lo obtendría en las iterando sobre un cursor.
>> Lo que me indicaste de poner el path completo funciona perfectamente, lo
>> que no se es como concatenar por ejemplo:
>> Supongamos que tengo dos usuarios 00001 y 00002, yo necesitaría que los
>> paths fueran algo asi /tmp/USU_00001.txt y /tmp/USU_0002.txt . Es posible
>> en COPY hacer esto de concatenar dos strings para formar la ruta? Mi idea
>> es algo como
>> copy (select * from tb) TO BASEPATH + FILENAME with CSV;
>> Desde ya muchas gracias por su tiempo.
>> Saludos
>>
>>
>>> Algo así como (con la ruta absoluta creo que es lo falta)
>>> copy (select * from tb) TO '/tmp/archivo.txt' with CSV;
>>> saludos
>>>
>>> <http://www.antiterroristas.cu/>
>>>
>>>
>>
>>
>> --
>> *Marcos Héctor Trotti*
>>
>> haaa, ya creo que se lo que sucede debes ejecutar el copy con el
>> comando EXECUTE, pues es copy que quieres ejecutar es dinámico , es decir
>> que debes armar un cadena y ejecutarla con EXECUTE aquí te pongo un ejemplo
>> que te podría ayudar
>>
>>
>> create or replace function salvar() returns boolean as $$ declare
>> camino text;
>> begin
>> camino:='archivo.txt'; -- pudieras poner aqui lo del usuario
>> execute 'COPY (select * from tb) TO ''/tmp/'||camino ||'''WITH CSV';
>> return true;
>> end;
>> $$ language plpgsql;
>>
>>
>>
>>
>>
>>
>>
>> <http://www.antiterroristas.cu/>
>>
>>
>
>
> --
> *Marcos Héctor Trotti*
>
> recuerda poner copia a la lsita pues a otros les puede servir tu
> solución.
> saludos
>
> <http://www.antiterroristas.cu/>
>
>

--
*Marcos Héctor Trotti*

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcos Luis Ortiz Valmaseda 2011-11-26 21:28:11 Re: Memoria compartida kernel.shmmax debian
Previous Message Edwin Quijada 2011-11-26 17:16:03 RE: Distribucion de Discos con POSTGRESQL