Re: Index (primary key) corrupt?

Adrian Klaver <adrian.klaver@aklaver.com>

From: Adrian Klaver <adrian.klaver@aklaver.com>
To: Wim Rouquart <wim.rouquart@kbc.be>, "pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2025-09-18T16:01:18Z
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.klaver@aklaver.com