Re: Inconsistent use of relpages = -1 - Mailing list pgsql-hackers

From Laurenz Albe
Subject Re: Inconsistent use of relpages = -1
Date
Msg-id 4f580871f8386d35261e7c46ca0af8abb3969e2c.camel@cybertec.at
Whole thread Raw
In response to Re: Inconsistent use of relpages = -1  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: Inconsistent use of relpages = -1
List pgsql-hackers
On Wed, 2024-10-23 at 10:05 -0700, Jeff Davis wrote:
> On Wed, 2024-10-23 at 04:47 +0200, Laurenz Albe wrote:
> > On Tue, 2024-10-22 at 10:41 -0700, Jeff Davis wrote:
> > > I attached a patch that creates partitioned tables with relpages=-
> > > 1,
> > > and updates the docs.
> >
> > Does this need any changes for pg_upgrade?
>
> pg_upgrade would go through the same DDL path, so I expect it would be
> set to -1 in the upgraded cluster anyway. Are you seeing something
> different?

No; I was too lazy to check, so I asked.

> In any case, the change is just meant to improve consistency and
> documentation. I didn't intend to create a hard guarantee that it would
> always be -1, so perhaps I should make the documentation more vague
> with "may be" instead of "is"?

Reading the thread an Tom's comments again, I get the impression that there
are two states that we consider OK:

- "relpages" and "reltuples" are both 0
- "relpages" is -1 and "reltuples" is greater than 0

What you write above indicates that "relpages" = 0 and "reltuples" > 0
would also be acceptable.

As long as the code does not mistakenly assume that a partitioned table
is empty, and as long as the documentation is not confusing, anything
is fine with me.  Currently, I am still a bit confused.

Yours,
Laurenz Albe



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Commutation of array SOME/ANY and ALL operators
Next
From: Tom Lane
Date:
Subject: Re: Using Expanded Objects other than Arrays from plpgsql