Re: sentencia copy a cliente

From: kernel <jucabapa(at)gmail(dot)com>
To:
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: sentencia copy a cliente
Date: 2021-02-18 15:08:06
Message-ID: 40206318-468e-24a1-2d98-24a5b3899e83@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias,

No lo he probado pero claro que si que debe de funcionar, pero lo que yo
quiero es capturarlo en una variable de tipo bitea , alguna funcion o
algo que me devuelva el resultado de una consulta en formato csv como si
fuese una variable TEXT

Gracias de nuevo

El 18/02/2021 a las 10:12, Anthony Sotolongo escribió:
> Hola nuevamente, lo que te comentamos debe funcionar, ¿Intentaste
> ejecutar lo que te comentamos? Desde tu máquina apuntando a tu
> servicio en la nube.
>
>
>
>
> El jue., 18 de febrero de 2021 4:01 a. m., kernel <jucabapa(at)gmail(dot)com
> <mailto:jucabapa(at)gmail(dot)com>> escribió:
>
>
> El 18/02/2021 a las 1:01, Horacio Miranda escribió:
>>
>>
>> On 18/02/2021 8:55 am, Anthony Sotolongo wrote:
>>>
>>> Hola Kernel, como comentas puedes usar STDOUT, el cual te
>>> enviará los datos a tu client, por ejemplo con psql:
>>>
>>>
>>> psql -U postgres -h tu_server_en_la_nube -c "COPY (select * from
>>> tu_tabla) to STDOUT WITH CSV HEADER DELIMITER ',';" > tu_archivo.csv
>>>
>>>
>> Los servidores pueden mandar email tambien.
>>
>> Puedes hacer esta logica si quieres en el server en la nube que
>> es mas rapido ejecutar cosas locales.
>>
>> #!/bin/bash
>>
>> PGUSER=<USER>
>> PGPASSWORD=<PASS>
>> PGPORT=<PUERTO>
>> PGDATABASE=<BASE>
>> PGHOST=<HOST>
>>
>> psql -c "COPY (select * from tu_tabla) to STDOUT WITH CSV HEADER
>> DELIMITER ',';" > /tmp/tu_archivo.csv
>>
>> cd /tmp  # Esto solo es para evitar que en el ZIP esten los path
>> como /tmp
>> zip tu_archivo.csv.zip tu_archivo.csv
>> uuencode tu_archivo.csv tu_archivo.csv | mail -s
>> "export_desde_lanube_$(hostname)" algun_mail(at)domain(dot)com
>> <mailto:algun_mail(at)domain(dot)com>
>>
>> uuencode lo encuentras como parte del sharutils si usas algo como
>> rpm puedes hacer "yum provides */uuencode"
>>
>> Ahora puedes hacer un sftp, o cualquier cosa que quieras para
>> traerte el archivo.
>>
>> Si lo quieres local puedes hacer un rsync tambien, posibilidades
>> hay muchas.
>> Ahora si este archivo es algo que se genera para un cliente, que
>> se envie un email de forma automatica creo que puede ser bien
>> interesante.
>>
>>>
>>> Saludos
>>>
>>>
>>> On 2/17/21 4:14 PM, kernel wrote:
>>>>
>>>> Hola,
>>>>
>>>> Necesito generar un fichero csv desde una aplicación, hasta la
>>>> fecha llamaba a una función , la cual me ejecutaba una
>>>> sentencia copy de un query determinado y lo sacaba a un fichero
>>>> local.
>>>>
>>>> Si contrato algún servicio de DB en la nube no voy a poder
>>>> dejar el fichero en local. He visto que la función copy tiene
>>>> algo de stdout , pero no se como conectarlo son mi aplicación.
>>>>
>>>> El lenguaje que utilizo es 4GL , solo  puedo hacer querys cuyo
>>>> resultado lo recojo en variables
>>>>
>>>> me pregunto si existe alguna función en la que pueda generar un
>>>> csv desde una consulta y me lo devuelva en un tipo de variable
>>>> byte o algo asi,  que luego yo pueda guardar donde yo quiera|.||||
>>>> |
>>>>
>>>> no se si he sido capaz de explicarme.
>>>>
>>>> Gracias
>>>>
>>>> Un Saludo
>>>>
> hola no se si me he explicado bien, lo que tengo en la nube no es
> un servidor, es un servicio postgresql , nada mas , por eso el
> problema
>
> Gracias
>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Horacio Miranda 2021-02-18 22:31:27 Re: sentencia copy a cliente
Previous Message Anthony Sotolongo 2021-02-18 09:12:25 Re: sentencia copy a cliente