Re: Index (primary key) corrupt?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Wim Rouquart <wim(dot)rouquart(at)kbc(dot)be>, "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-18 16:01:18
Message-ID: 1bfa0b6b-11a8-458f-a3f3-3f86574abc1d@aklaver.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 9/18/25 05:25, Wim Rouquart wrote:
> 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).

What is the complete table definition?

What is the complete pg_dump command being given?

Is the PK definition in the pg_dump file?
For plain text format can you grep/find it?
For custom format does:
pg_restore -s -t <the_table> <dump_file>
show it?

How is the dump file being restored?

>
> 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?
>
> Are there any other ways to doublecheck for corruption (without enabling
> checksum upfront)?
>
> This concerns a PostgreSQL version 15 btw.
>
> Thanks!
>
>
> Disclaimer <https://www.kbc.com/KBCmailDisclaimer>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2025-09-18 16:08:43 Re: How do I specify the NetworkService user to the postgres installer.
Previous Message Adrian Klaver 2025-09-18 15:54:32 Re: pg_restore scan