Re: pregunta importacion con copy

From: Alejandro Gasca <agasca(at)yahoo(dot)com>
To: Raul Caso <feve18(at)gmail(dot)com>, Juan "Martnez" <jeugenio(at)umcervantes(dot)cl>
Cc: lista postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: pregunta importacion con copy
Date: 2006-02-24 15:57:56
Message-ID: 20060224155756.36864.qmail@web34307.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, me quedé con la duda de que copy to no hace chequeos de
integridad referencial, pero esto es falso, por lo menos de la 7.4 para
arriba.
En la documentación dice: "COPY FROM will invoke any triggers and check
constraints on the destination table. However, it will not invoke
rules.
"
El que no hace caso, segun recuerdo, es el TRUNCATE... pero
personalmente no lo he usado.
--- Raul Caso <feve18(at)gmail(dot)com> escribió:

> El día 23/02/06, Juan Martínez <jeugenio(at)umcervantes(dot)cl> escribió:
> >
> > > Amigos tengo una duda tengo una tabla de digamos 6 campos 1 de
> ellos
> > > serial
> > > y bueno exporte de una base mysql datos de una tabla en un
> archivo
> > txt(el
> > > archivo tiene 3 campos y 7693 filas) me pregunto si con el copy
> puedo
> > > importar esos datos a mi tabla pero como hago para elegir que
> campos
> > > porque
> > > son solo 3 los del archivo y ademas el serial de la tabla tiene k
> > > autoincrementarse espero haber sido entendible o si me puedan dar
> otra
> > > opcion se los agradeceria
> >
> > Leiste el manual de postgres? (nunca esta demas, te lo aseguro)
> Ahí sale
> > clarito.
> >
> > de todas maneras:
> >
> > CREATE TABLE tabla (
> > id serial,
> > campo1 text,
> > campo2 text,
> > campo3 text,
> > campo4 text,
> > campo5 text
> > );
> >
> > COPY tabla(campo1,campo2,campo4) FROM <archivo> WITH DELIMITER ',';
> >
> > El <archivo> preocupate qeu tenga los permisos al menos 444, para
> que el
> > servidor lo pueda leer sin problemas (si es que estas en
> linux/*nix).
> >
> > Preocupate tambien que el delimitador (WITH DELIMITER) sea el mismo
> de
> > <archivo>
> >
> > p.e.:
> > ',' : Separador por comas
> > ';' : Separados por puntos y comas
> > '\t': Separados por tabuladores
> >
> > Luego, si definiste el serial en la creación de la tabla, y no lo
> hiciste
> > a mano (o sea diciendo en la creacion de la tabla que el tipo del
> campo es
> > serial, y no diciendo que es integer y luego creando la secuencia a
> mano),
> > preocupate que el default del campo sea nextval('secuencia'). Eso
> lo puede
> > ver con \d tabla en psql. Si tiene el valor por defecto, va a
> funcionar
> > sin problemas.
> >
> > Como dice la documentación, copy resulta ser más rápido por que no
> hace
> > caso a las reglas de integridad y de referencialidad. Ten cuidado
> con eso.
> >
> > Atte.
> > Juan Martínez
> > Depto. Inf.
> > UMC
> >
> >
>
> Gracias juan efectivamente lei el manual y vi las opciones de copy
> gracias
> por el consejo :)
> --
> ¿Quieres ser parte del 5% o del 95%?
> http://www.ixp.net/rcaso
> Raulinho
> 97033825-4327239
>

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rubén da Silva 2006-02-24 16:34:19 Almacenar Foto, Audio y Video
Previous Message Dimas Ayala 2006-02-24 15:52:30 Re: Uso de memoria por conexion.