Re: leer de un txt a postgres

From: Marcos Ortiz Valmaseda <mlortiz(at)estudiantes(dot)uci(dot)cu>
To: Virginia <mavir78(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: leer de un txt a postgres
Date: 2009-03-11 23:02:14
Message-ID: 25272362.272931236812534690.JavaMail.root@zimbra2.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Creo que para lo quieres lo mejor seria usar expresiones regulares para plantear todas las condiciones que puedan surgir.
Una pregunta que te hago ¿No puedes hacer una mera traduccion y convertir los archivos.txt a .sql y luego correrlos en el servidor?
recuerda que para esto a la hora de programar las funciones lo mejor sería usar CREATE OR REPLACE FUNCTION nombre_funcion
por el hecho si ocurre algun error.
Teniendo el .sql puedes correrlo en el server usando dentro de psql:
\i archivo.sql

Saludos

----- Mensaje original -----
De: "Virginia" <mavir78(at)gmail(dot)com>
Para: pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Miércoles, 11 de Marzo de 2009 20:28:09 GMT +01:00 Amsterdam / Berlín / Berna / Roma / Estocolmo / Viena
Asunto: [pgsql-es-ayuda] leer de un txt a postgres

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.
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. ¿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....
--
-----------------------------------------------------------
------------------------ Virginia ------------------------
-----------------------------------------------------------

--

¨¨Tip 9 : Vacumm es tu amigo.......¨¨¨
Marcos Ortíz Valmaseda
Linux User # 418229
PostgreSQL 8.3.5 && Debian GNU/Linux Experimental User
Facebook Profile:
http://www.facebook.com/profile.php?id=1186800712
My blog:
http://marcosluis21.wordpress.com

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Ferro 2009-03-11 23:29:28 Re: Error en vacuum antes era error con update
Previous Message Marcos Ortiz Valmaseda 2009-03-11 22:09:05 Re: Re: [pgsql-es-ayuda] Ingeniería inversa sobre BD existente