Re: BUG #18526: 'UPDATE' inconsistency using index scan with 'NOT EXIST' after upgrading to PostgreSQL 16

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: feliphepozzer(at)gmail(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org, Richard Guo <guofenglinux(at)gmail(dot)com>
Subject: Re: BUG #18526: 'UPDATE' inconsistency using index scan with 'NOT EXIST' after upgrading to PostgreSQL 16
Date: 2024-06-28 19:13:53
Message-ID: 2002050.1719602033@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> Expected Result: All records that meet the criteria should be updated
> regardless of using index scan or seq scan.
> Actual Result: When PostgreSQL 16 uses index scan, it fails to find and
> update all records. By changing random_page_cost to a value that forces the
> use of seq scan, all records are updated correctly.

I see that the problematic plan involves a Merge Right Anti Join step,
which makes me guess that this is the same bug recently reported in

https://www.postgresql.org/message-id/flat/18522-c7a8956126afdfd0%40postgresql.org

Are you in a position to try the patch posted in that thread?

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Feliphe Pozzer 2024-06-28 19:45:15 Re: BUG #18526: 'UPDATE' inconsistency using index scan with 'NOT EXIST' after upgrading to PostgreSQL 16
Previous Message Tom Lane 2024-06-28 19:04:02 Re: BUG #18525: Boolean aggregate functions like EVERY/BOOL_AND should shortcut