From: | Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org, Virginia <mavir78(at)gmail(dot)com> |
Subject: | Re: leer de un txt a postgres |
Date: | 2009-03-13 00:46:22 |
Message-ID: | 961078.69465.qm@web63705.mail.re1.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Contestare con la mejor de las ondas y simpatias
con una pisca de ironias.
--- El jue 12-mar-09, Virginia <mavir78(at)gmail(dot)com> escribió:
> De: Virginia <mavir78(at)gmail(dot)com>
> Asunto: [pgsql-es-ayuda] leer de un txt a postgres
> A: pgsql-es-ayuda(at)postgresql(dot)org
> Fecha: jueves, 12 marzo, 2009, 8:28 am
> Buenas tardes a todos. Necesito que alguien me oriente en lo
> siguiente:
> Tengo una tabla en postgresql que debe ser alimentada
> por datos
> almacenados en dos archivos txt (uno.txt y dos.txt).
> Debo leer cada linea de cada archivo para determinar,
> según las
> longitudes, qué información va a qué campo.
> Adicionalmente, hay varios campos que tienen al final
> un caracter que
> indica si este caracter debe ser sustituido por un signo
> negativo y un
> número, por ejemplo 01245551Q ---> la Q vale -8, osea
> que tomando en cuenta
> las condiciones mencionadas y otras que no viene al caso
> explicar, el valor
> queda -124555.18.
> Cabe destacar, que algunos campos de esta tabla se
> llenan con datos
> provenientes del archivo uno.txt y otros campos de la misma
> tabla se llenan
> con los datos que provienen del archivo dos.txt.
> Otro detalle es que esto debe ser una tarea programada
> en postgresql
> (PgAgent... sigo yo con el temita...) o en lo que sea, esto
> lo resuelvo
> después.
Bueno sos un poco cabezona, por que con una tarea programada en un punto sh que dispare funciones en postgresql porgramadas en pl/pgsql, te basta
Yo hago algo parecido, pero el texto lo analizo cuando genero los txt y los cambio.
> Ahora bien, mi pregunta es la siguiente:
> ¿Cómo hago para migrar esta información de ambos
> archivos a la tabla en
> postgresql? teniendo en cuenta que hay que leer y
> "traducir" ciertos
> valores.
Create un esquema con la replica de las tablas, de forma que sea un
esquema auxiliar con tablas auxiliares.
Borralas y llenalas con lo que hay en los txt, con sh disparando las pl/pgsql
Y funciones para insertar los que hay que insertar, modificar los que
hay que modificar y crear esas reglas que tu sabes para que ciertos datos los tome de una tabla y otros de otra.
Asi resolvi un tema parecido, donde tengo que comunicar info de server 1 a server 2 y de server 2 a 1 mediante un pen driver, los dos tienen dos esquemas, importar y exportar, solo que lo exportado en uno genera una salida para ser tomada en el esquema importar del otro, por lo tanto tengo que modificar el texto de salida al script.
Un sh es ejecutado cuando se invoca un usuario y copia del pendriver al home/importar de ese usuario y ejecuta las funciones que se encargarn del resto.
¿Para esto me sirve el LOAD DATA? si alguien sabe
> cómo se hace con
> LOAD DATA, por favor, indíqueme un ejemplo porque en
> postgresql no
> encuentro.
>
> Muchas gracias, espero que alguien pueda darme un ejemplo
> claro de esto....
> -- \
De LOAD DATA no se un caramelo, pero se me ocurre que en pl/pgsql y el comando replace, podes hacer en las tablas auxiliares que te comente los cambios correspondietes.
Espero el aporte te sirva.
Saludos
Gabriel Colina
> -----------------------------------------------------------
> ------------------------ Virginia ------------------------
> -----------------------------------------------------------
¡Sé el Bello 51 de People en Español! ¡Es tu oportunidad de Brillar! Sube tus fotos ya. http://www.51bello.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Javier Chávez B. | 2009-03-13 11:10:40 | Re: leer de un txt a postgres |
Previous Message | mjgacto | 2009-03-13 00:08:46 | Conexión a postgres |