Re: pk con valores duplicados

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Oswaldo Hernández <listas(at)soft-com(dot)es>
Cc: Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: pk con valores duplicados
Date: 2009-05-20 21:06:57
Message-ID: 20090520210657.GI5368@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Oswaldo Hernández escribió:

> Viendo una de las tablas que provoca el error veo que efectivamente tiene
> valores duplicados en un campo con indice unique:

> Evidentemente hay que eliminar uno de los registros, pero me surgen la
> siguientes dudas sobre como hacerlo:

Lo más fácil es usar el ctid:

select ctid, cod_clientecentral from ...

Luego DELETE FROM ... WHERE ctid = 'valor a borrar'

> . La columna clientecentral esta referenciada con fk desde otras tablas,
> si elimino uno de los registros y aunque quede el otro con los mismos
> valores ¿se dispararán la fk y se eliminarán los registros referenciados?

No, es decir sí pero van a ver el otro (¿no tienes FKs CASCADE verdad?)

> . pg_dump vuelca ambos registros. ¿Seria mas conveniente eliminar el
> registro sobrante en el dump y restaurar la base de datos sin los valores
> duplicados?

No necesariamente ...

--
Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J
"El miedo atento y previsor es la madre de la seguridad" (E. Burke)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oswaldo Hernández 2009-05-20 21:23:54 Re: pk con valores duplicados
Previous Message Alvaro Herrera 2009-05-20 21:04:03 Re: Problemas con un check