[Pgsql-ayuda] Carga de un archivo palno (ASCII) en una tabla

Martin Marques martin@bugs.unl.edu.ar
Tue, 14 Oct 2003 15:18:33 -0300


El Mar 14 Oct 2003 14:08, Emilio Capolupo escribi=F3:
> Hola:
>
> Tengo la siguiente tarea que hacer:
>
> Recibo informaci=F3n en archivos planos de longitud fija cuyos campos est=
an
> dados por la longitud de los mismos (sin ningun tipo de separacion) y debo
> cargalos en una tabla en postgreSQL.
>
> Creo que con este formato, no puedo usar el copy de pl/pgsql... por lo que
> pens=E9 en hacer una rutina en C (ansi) que leyera el archivo con un ssca=
nf y
> armara el insert en la tabla para cada registro.
>
> Mi pregunta es =BFes esta la forma mas conveniente de hacerlo, o existe
> alguna otra forma o herramienta que no conozco que lo permitiria hacer
> mejor?

Yo haria un script que insertara los separadores (| o ; o inclusive :,=20
dependiendo que los caracteres que vengan en ese archivo), y luego usaria e=
l=20
COPY. A menos que sean muy pocos registros que se van a ingresar, en tal ca=
so=20
a medida que voy leyendo cada linea del archivo voy escribiendo los INSERT =
y=20
enviandoselos al psql o usar algun lenguaje que permita mantener la conexio=
n=20
abierta (por si necesitas que todo quede en una misma transaccion).

=2D-=20
Porqu=E9 usar una base de datos relacional cualquiera,
si pod=E9s usar PostgreSQL?
=2D----------------------------------------------------------------
Mart=EDn Marqu=E9s                  |        mmarques@unl.edu.ar
Programador, Administrador, DBA |       Centro de Telem=E1tica
                       Universidad Nacional
                            del Litoral
=2D----------------------------------------------------------------