Re: BUG #16285: bt_metap fails with value is out of range for type integer

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Victor Yegorov <vyegorov(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16285: bt_metap fails with value is out of range for type integer
Date: 2020-03-10 00:16:47
Message-ID: CAH2-WzmQwFX2rKyZ6YGGuhWC6hG9a91b6SqQxvXZdGiwnH2SRA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Mar 9, 2020 at 3:36 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> What do you mean? Since 12 is the newest release affected, we'd
> potentially (and with increasing likelihood due to clusters living
> longer) have the problem till 12 is not supported anymore. What am I
> missing?

But 12 isn't the latest release affected. It just so happens that
Victor was using 12, but oldest_xact was actually added by commit
857f9c36 -- that's Postgres 11.

To be very precise: I imagine that Victor was using bt_metap() in
production on a Postgres 12 installation because he wanted to make
sure that his installation had the new stuff (he did a talk about it
at EU, so clearly it's of interest to him). The problem is
nevertheless not new to Postgres 12.

> I'd just do the s/%u/%d/.

That's a pretty gross hack. So be it.

> pg_class.relpages is also reported as a signed integer :(. Since
> btm_root/fastroot use %d, it'll just have similar wrapping behaviour.

I guess that means that pageinspect was correct after all!

--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2020-03-10 00:22:33 Re: BUG #16285: bt_metap fails with value is out of range for type integer
Previous Message Andres Freund 2020-03-09 22:35:57 Re: BUG #16285: bt_metap fails with value is out of range for type integer