Re: The ability of postgres to determine loss of files of the main fork

Laurenz Albe <laurenz.albe@cybertec.at>

From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Aleksander Alekseev <aleksander@tigerdata.com>, Frits Hoogland <frits.hoogland@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-10-01T06:26:50Z
Lists: pgsql-hackers
On Tue, 2025-09-30 at 18:55 +0300, Aleksander Alekseev wrote:
> > Therefore, I would like to request an enhancement: add an option to
> > verify_heapam() that causes the primary key index to be scanned and makes
> > sure that all line pointers in the index point to existing tuples.
> 
> I'm a bit puzzled by your emphasis on primary keys. In Postgres it is
> legal to have tables without PKs, indexes, or even columns:
> 
> =# create table my_table();
> =# select * from my_table;
> 
> To clarify, are you proposing not to check such tables?

If there is no index on a table, there is no way to determine a missing
segment.  I don't think that Frits deliberately wants to *not* check
such tables, it's just that there is no way to do it as things are now.

Just because a check is not possible in certain cases is no good reason
to forgo a check in those cases where it is possible.

Yours,
Laurenz Albe