Thread: BUG #18756: Postgres corruption

BUG #18756: Postgres corruption

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      18756
Logged by:          Tal Moshe
Email address:      talmoshe24@gmail.com
PostgreSQL version: 14.13
Operating system:   centos9
Description:

We saw a corruption in 3 different environments in one of the unique indexes
(named “npn”) in “files” table.
It seems as if not all the rows (that should be part of this index) in the
table are indexed, and therefore “duplicated” rows (rows that violates the
index constraint) are allowed to be inserted to DB.

The index is created using the following statement:
CREATE UNIQUE INDEX npn ON public.files USING btree (SNAPSHOT_ID,
PARENT_GUID_DEVICE, PARENT_GUID_VERSION, NAME) WHERE PARENT_GUID_DEVICE IS
NOT NULL;

In these environments Postgres v14.13 is used.


Re: BUG #18756: Postgres corruption

From
Tom Lane
Date:
PG Bug reporting form <noreply@postgresql.org> writes:
> We saw a corruption in 3 different environments in one of the unique indexes
> (named “npn”) in “files” table.
> It seems as if not all the rows (that should be part of this index) in the
> table are indexed, and therefore “duplicated” rows (rows that violates the
> index constraint) are allowed to be inserted to DB.

Are any of the indexed columns of string types (text, varchar, etc)?
And have you upgraded the underlying OS since creating the index?
If so, you've likely been bit by locale changes.  See

https://wiki.postgresql.org/wiki/Locale_data_changes

            regards, tom lane