From: | Julio Cesar Sánchez González <knowhow(at)sistemasyconectividad(dot)com(dot)mx> |
---|---|
To: | Fernando Dubal <fdubal(at)mercurymobile(dot)com(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: INSERT INTO SELECT con falla x primary key |
Date: | 2007-04-13 19:32:48 |
Message-ID: | 1176492768.6230.1.camel@scoserver |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El jue, 12-04-2007 a las 14:44 -0300, Fernando Dubal escribió:
> 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.
Un primary key siempre debe de ser unico, esa es la regla.
>
> 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
>
From | Date | Subject | |
---|---|---|---|
Next Message | Gerardo Cavallini | 2007-04-13 19:33:30 | Re: Instalacion de Postgres |
Previous Message | Leonel | 2007-04-13 19:30:28 | Re: extraer base de datos |