RE: Index (primary key) corrupt?

From: Wim Rouquart <wim(dot)rouquart(at)kbc(dot)be>
To: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>, "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: RE: Index (primary key) corrupt?
Date: 2025-09-19 09:29:57
Message-ID: AS2PR05MB107548809A37E7DCC694EC7C2EF11A@AS2PR05MB10754.eurprd05.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

Internal

Hello,

When doing a pg_dump of one of our databases one of the tables primary keys doesn’t get exported. Pg_dump just skips this index, without any warning whatsoever (verbose mode was used to doublecheck).

When doing a REINDEX the issue is fixed.

As this seems to me to be some form of index corruption, I tried using amcheck (bt_index_check and bt_index_parent_check) to verify for corruption but both resulted with no issues (the index is a btree).

I would expect the corruption to show up when using amcheck, am I hitting some kind of bug here?

>> Does this problem keep happening, or has it only happened once?

It is consistent on this database/index, haven’t noticed it anywhere else yet luckily. Seems to be a one-off.

Are there any other ways to doublecheck for corruption (without enabling checksum upfront)?

>> pg_checksums is available in PG 15.

It is indeed, so to test I enabled checksums, and did a checksum test, no errors, and yes, the file containing the index is mentioned in the checks…

This concerns a PostgreSQL version 15 btw.

>> Are you at the current patch level?

Yes.

Disclaimer <https://www.kbc.com/KBCmailDisclaimer>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Wim Rouquart 2025-09-19 09:40:44 RE: Index (primary key) corrupt?
Previous Message Dominique Devienne 2025-09-19 08:13:47 Re: PostgreSQL Account and Object Timestamp Logging