Re: BUG #16768: PostgreSQL 12.5 - INSERT ON CONFLICT succeeds on data INSERT but does nothing on UPDATE - Mailing list pgsql-bugs

From QA Collective
Subject Re: BUG #16768: PostgreSQL 12.5 - INSERT ON CONFLICT succeeds on data INSERT but does nothing on UPDATE
Date
Msg-id CADF5g4csd1_0TzxWzJBSqozjnqrx1cx8Vpm1Z1e61u6HD17bKg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #16768: PostgreSQL 12.5 - INSERT ON CONFLICT succeeds on data INSERT but does nothing on UPDATE  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: BUG #16768: PostgreSQL 12.5 - INSERT ON CONFLICT succeeds on data INSERT but does nothing on UPDATE
List pgsql-bugs
Thanks for your reply Peter.  If this is the case, what would be the reason for this functionality having 'changed' over the past week or so?  Code running like this over many months has worked as expected.

On Wed, Dec 9, 2020 at 12:14 PM Peter Geoghegan <pg@bowt.ie> wrote:
On Tue, Dec 8, 2020 at 5:02 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
> The SQL below recreates my issue.  That is, the LAST insert statement DOES
> NOT update the accountinfo_test table value for 'balance' to 200.0 ... it
> remains at the previous value of 100.0.

I think that you need to UPDATE using the excluded.* pseudo table. For
example, "SET my_col = excluded.my_col". As things stand you're using
the target table itself. Technically the row is being updated, but
with the wrong values (the existing values rather than your intended
new successor values).

--
Peter Geoghegan

pgsql-bugs by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: BUG #16768: PostgreSQL 12.5 - INSERT ON CONFLICT succeeds on data INSERT but does nothing on UPDATE
Next
From: Peter Geoghegan
Date:
Subject: Re: BUG #16768: PostgreSQL 12.5 - INSERT ON CONFLICT succeeds on data INSERT but does nothing on UPDATE