public inbox for [email protected]  
help / color / mirror / Atom feed
From: Laurenz Albe <[email protected]>
To: Aleksander Alekseev <[email protected]>
To: Frits Hoogland <[email protected]>
Cc: [email protected]
Subject: Re: The ability of postgres to determine loss of files of the main fork
Date: Wed, 01 Oct 2025 08:26:50 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAJ7c6TMYvYBQpgv8k+4QnajqPcroOzrj7d3snBBTKX4tHQfVYw@mail.gmail.com>
References: <[email protected]>
	<CAJ7c6TMYvYBQpgv8k+4QnajqPcroOzrj7d3snBBTKX4tHQfVYw@mail.gmail.com>

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





view thread (21+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: The ability of postgres to determine loss of files of the main fork
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox