INSERT INTO SELECT con falla x primary key

From: "Fernando Dubal" <fdubal(at)mercurymobile(dot)com(dot)ar>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: INSERT INTO SELECT con falla x primary key
Date: 2007-04-12 17:44:32
Message-ID: 20070412174336.CABCF40F43@smtp.mercurymobile.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, tengo una tabla con 85.000.000 registros.

ya como si eso solo no fuese un problema, quiero agregar una PRIMARY KEY,
por 3 campos, los caules no son unicos.

el problema q esta tabla tienen muchos insert constantes debido a un sistema
q corre constantemente.

asi q habia pensado renombrar la tabla y hacer una nueva tabla para q los
insert caigan en la tabla nueva y mientras insertar los registros de la
tabla renombrada en la tabla nueva, ignorando los registros q se repiten los
tres campos x los cuales quiero poner la PRIMARY KEY.

debido a q el postgres no tiene INSERT IGNORE INTO, se me habia ocurrido
hacerlo con una funcion, q chequee si el registro ya esta, pero tengo miedo
de aumentar mucho mas la exigencia de la DB.

otra q se me habia ocurrido era con un
INSERT INTO tabla (SELECT * FROM tabla_renombrada GROUP BY "los 3 campos x
los q quiero hacer la primera key");

pero el postgres tampoco me deja poner en el "SELECT" campos q esten fuera
del GROUP BY.

alguien tiene alguna idea? o alguna otra opcion?

saludos.

Fernando Dubal


Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Ortega 2007-04-12 17:48:14 Re: Hola Lista
Previous Message Alvaro Herrera 2007-04-12 17:33:50 Re: Resta Horas y dias