Exportacion por lotes

Started by Hernan Jesus Gonzalez Carmonaabout 6 years ago5 messagesgeneral
Jump to latest
#1Hernan Jesus Gonzalez Carmona
hjgonzalezc@gmail.com

Estimados antes que todo me presento, mi nombre es Hernan Gonzalez, me
acabo de inscribir en esta lista de correo y desde ya me disculpo si en
este mensaje violo alguna normativa de la lista de correo pero necesito
ayuda que me apura mucho.

Quien me podria ayudar con información respecto de como exportar una
consulta en distintos archivos según una condición determinada y que cada
archivo tenga el nombre de dicha condición, es decir, si tengo una tabla
con 100 registros y uno de los campos tiene un dominio de 4 valor
distintos, necesito generar 4 archivos cada uno con nombre de cada valor
posible de dicho campo, y que la suma de los registros de los 4 archivos
sea 100

¿me explico?

Desde ya muy agradecido por vuestro tiempo

HJGC

#2Charles Clavadetscher
clavadetscher@swisspug.org
In reply to: Hernan Jesus Gonzalez Carmona (#1)
Re: Exportacion por lotes

Hola

-----------------------------------
Charles Clavadetscher
Spitzackerstrasse 9
CH - 8057 Zürich

Tel: +41-79-345 18 88
-------------------------------------

On 03.03.2020, at 20:21, Hernan Jesus Gonzalez Carmona <hjgonzalezc@gmail.com> wrote:

Estimados antes que todo me presento, mi nombre es Hernan Gonzalez, me acabo de inscribir en esta lista de correo y desde ya me disculpo si en este mensaje violo alguna normativa de la lista de correo pero necesito ayuda que me apura mucho.

Quien me podria ayudar con información respecto de como exportar una consulta en distintos archivos según una condición determinada y que cada archivo tenga el nombre de dicha condición, es decir, si tengo una tabla con 100 registros y uno de los campos tiene un dominio de 4 valor distintos, necesito generar 4 archivos cada uno con nombre de cada valor posible de dicho campo, y que la suma de los registros de los 4 archivos sea 100

¿me explico?

Desde ya muy agradecido por vuestro tiempo

HJGC

Hay una lista de correo en español.
En esta el idioma en uso es el inglés.

About your question.
You can export data to a file using copy or \copy (if you work fro a remote client). You can use a select statement that gives you the exact result that you need.

For example. Let's assume that you have a table (e.g. t) with a column that you want to use for grouping (e.g. group_c). This is basically your use case. Then you can do the following in psql:

\copy (select * from t where group_c = 'some value') to filename.csv csv header delimiter ';' null ''

The exact syntax is on the postgresql page.

Unfortunately I have no access right now to a PC and can't check for links. I will catch that up later if no one else responds.

Regards
Charles

#3Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Hernan Jesus Gonzalez Carmona (#1)
Re: Exportacion por lotes

On 2020-Mar-03, Hernan Jesus Gonzalez Carmona wrote:

Estimados antes que todo me presento, mi nombre es Hernan Gonzalez, me
acabo de inscribir en esta lista de correo y desde ya me disculpo si en
este mensaje violo alguna normativa de la lista de correo pero necesito
ayuda que me apura mucho.

Quien me podria ayudar con informaci�n respecto de como exportar una
consulta en distintos archivos seg�n una condici�n determinada y que cada
archivo tenga el nombre de dicha condici�n, es decir, si tengo una tabla
con 100 registros y uno de los campos tiene un dominio de 4 valor
distintos, necesito generar 4 archivos cada uno con nombre de cada valor
posible de dicho campo, y que la suma de los registros de los 4 archivos
sea 100

Hern�n, tu mensaje no viola ninguna norma, pero la lista pgsql-general
trafica en ingl�s. Para preguntas en castellano puedes usar la lista
pgsql-es-ayuda (en copia).

No indicaste qu� herramienta quieres usar para lograr tu resultado.
Por ejemplo si puedes usar bash, podr�as hacer algo como

#!/bin/bash

valores=$(psql -At --no-psqlrc -c "select distinct valores from tabla")
for i in $valores; do
psql -At --no-psqlrc -o "resultados-$i.txt" -c "select * from tabla where valores = '$i'"
done

--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

#4Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Hernan Jesus Gonzalez Carmona (#1)
Re: Exportacion por lotes

On 2020-Mar-03, Hernan Jesus Gonzalez Carmona wrote:

Estimados antes que todo me presento, mi nombre es Hernan Gonzalez, me
acabo de inscribir en esta lista de correo y desde ya me disculpo si en
este mensaje violo alguna normativa de la lista de correo pero necesito
ayuda que me apura mucho.

I replied in Spanish copying pgsql-es-ayuda.

--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

#5Hernan Jesus Gonzalez Carmona
hjgonzalezc@gmail.com
In reply to: Alvaro Herrera (#4)
Re: Exportacion por lotes

Muchas gracias a todos.

El mar., 3 mar. 2020 a las 21:58, Alvaro Herrera (<alvherre@2ndquadrant.com>)
escribió:

Show quoted text

On 2020-Mar-03, Hernan Jesus Gonzalez Carmona wrote:

Estimados antes que todo me presento, mi nombre es Hernan Gonzalez, me
acabo de inscribir en esta lista de correo y desde ya me disculpo si en
este mensaje violo alguna normativa de la lista de correo pero necesito
ayuda que me apura mucho.

I replied in Spanish copying pgsql-es-ayuda.

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services