How to do an UPDATE for all the fields that do NOT break a constraint? - Mailing list pgsql-general

From Phoenix Kiula
Subject How to do an UPDATE for all the fields that do NOT break a constraint?
Date
Msg-id e373d31e0901260509v6e67f1ebx412a215d4849a823@mail.gmail.com
Whole thread Raw
Responses Re: How to do an UPDATE for all the fields that do NOT break a constraint?
Re: How to do an UPDATE for all the fields that do NOT break a constraint?
List pgsql-general
I wonder if this is an SQL limitation or something I'm missing in the
PG manual, but I need to run an update on my database (to replace the
value of a column to match a new design structure).

Due to the new business logic, the  replaced value of a field may end
up being already present in the database in another record. This leads
to unique key violations when I run the update.

My question: I don't mind if the update transaction skips the records
where the key would be violated (this preservation is in fact what we
want) but these are only about 2% of the overall updatable records.

Is there anyway to make the transaction go through with the remaining
98% of the update SQL which will in fact NOT violate the unique
constraint?

pgsql-general by date:

Previous
From: Grzegorz Jaśkiewicz
Date:
Subject: where (x,y,z) in ((x1,y1, z1), (x1,y1, z1), (x1,y1, z1), (x2,y2, z2)) (not) optimized
Next
From: Matthias Karlsson
Date:
Subject: Re: How to do an UPDATE for all the fields that do NOT break a constraint?