Re: Comando Copy

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: mariam lebbady <mariam(dot)lebbady(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Comando Copy
Date: 2007-05-23 20:42:04
Message-ID: 20070523204204.GI13250@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

mariam lebbady escribió:
> Hola a todos. Estoy empezando con Postgres.
> Mi duda es con el comando copy.
> Estoy intentando cargar los datos de un fichero txt en una tabla simplemente
> escribiendo esto por el psql: copy Tabla from 'c:\...\NombreFichero.txt';
> Digamos q mi tabla tiene 3 atributos:
> cuidad
> character(30)
> telefono
> character(9)
> Y una fila del fichero.txt seria esta:
> Gross-Rohrheim 916201508
>
> Me devuelve el siguiente error: ERROR: value to long for type character(30);
>
> Entonces, veo que no coje los 30 caracteres como primer dato, y los nuevo
> restantes como el segundo. Si le pongo delimitadores va bien.
>
> Pero no se puede indicar de alguna manera que los campos de los atributos
> son de longitud fija? En oracle por ejemplo si he visto que si.

Ah, ya entendi la diferencia con tu mensaje anterior, está en las últimas
dos líneas.

Que yo sepa, no, no se puede lo que tú quieres. En Linux/Unix puedes
hacerlo con herramientas del sistema, como por ej. Perl para convertir
los campos de ancho fijo en campos delimitados, pero en Windows no tengo
idea si se puede hacer. (Lo más facil que se me ocurre es instalar
cygwin para que tengas las herramientas de Unix. O también podría ser
Perl).

--
Alvaro Herrera Developer, http://www.PostgreSQL.org/
Y una voz del caos me habló y me dijo
"Sonríe y sé feliz, podría ser peor".
Y sonreí. Y fui feliz.
Y fue peor.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Richard Clark 2007-05-24 00:04:09 RECUPERANDO MIS BASES DE DATOS
Previous Message Juan Carlos Badillo Goy 2007-05-23 19:15:06 Donde puedo encontrar ayuda sobre las funciones para el trabajo con cadenas