RE: INSERT INTO SELECT con falla x primary key

From: "Fernando Dubal" <fdubal(at)mercurymobile(dot)com(dot)ar>
To: 'Julio Cesar Sánchez González' <knowhow(at)sistemasyconectividad(dot)com(dot)mx>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: INSERT INTO SELECT con falla x primary key
Date: 2007-04-13 20:31:00
Message-ID: 20070413203010.CA5EE8B2D6@smtp.mercurymobile.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Julio Cesar
Sánchez González
Enviado el: Viernes, 13 de Abril de 2007 16:33
Para: Fernando Dubal
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] INSERT INTO SELECT con falla x primary key

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.

Si, lo se, justamente, x eso, pregunto, cual seria la mejor opcion para,
crear la primary key, descargando los registros q lo impiden (como debe ser
unico) sin matar una base de datos con una tabla tan grande.

>>
>> 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

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gerardo Cavallini 2007-04-13 20:33:47 Re: Instalacion de Postgres
Previous Message Alvaro Herrera 2007-04-13 20:21:37 Re: Instalacion de Postgres