Re: BUG #19414: Wrong rows returned by index scan on HASH-partitioned table with PRIMARY KEY (PostgreSQL 16.9) - Mailing list pgsql-bugs

From Álvaro Herrera
Subject Re: BUG #19414: Wrong rows returned by index scan on HASH-partitioned table with PRIMARY KEY (PostgreSQL 16.9)
Date
Msg-id 202602232020.e2fyql4ip6hd@alvherre.pgsql
Whole thread Raw
In response to BUG #19414: Wrong rows returned by index scan on HASH-partitioned table with PRIMARY KEY (PostgreSQL 16.9)  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #19414: Wrong rows returned by index scan on HASH-partitioned table with PRIMARY KEY (PostgreSQL 16.9)
List pgsql-bugs
On 2026-Feb-19, PG Bug reporting form wrote:

> CREATE TABLE r_has_stock (
>     site_public_id varchar(10) NOT NULL,
[...]
> ) PARTITION BY HASH (site_public_id);
[...]
> Additional notes
>         •       Database collation: en_US.UTF-8
>         •       Server encoding: UTF8
>         •       Explicit casts and COLLATE tests did not change behaviour.
>         •       Issue appears only when index scan is used.
>         •       Table and indexes originate from a cluster initially running
> PostgreSQL 14.12 and later upgraded to 16.9.
>         •       After reindex the issue was resolved.
> 
> 
> Question
> 
> Could this be related to HASH partitioning combined with PRIMARY KEY /
> UNIQUE indexes, or to data created in older PostgreSQL versions and later
> upgraded?

I would be pretty certain that the problem is related to collation
changes, since the partition key is varchar and you said the problem
disappeared after the reindex.

The solution is exactly that: reindex any indexes potentially affected
by collation changes as part of a platform upgrade.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"No hay hombre que no aspire a la plenitud, es decir,
la suma de experiencias de que un hombre es capaz"



pgsql-bugs by date:

Previous
From: Rafia Sabih
Date:
Subject: Re: BUG #19414: Wrong rows returned by index scan on HASH-partitioned table with PRIMARY KEY (PostgreSQL 16.9)
Next
From: Nathan Bossart
Date:
Subject: Re: basic_archive lost archive_directory