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 <jucab...@gmail.com
<mailto:jucab...@gmail.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_m...@domain.com
<mailto:algun_m...@domain.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