Re: pageinspect get_raw_page() option to return invalid pages - Mailing list pgsql-hackers

From Andres Freund
Subject Re: pageinspect get_raw_page() option to return invalid pages
Date
Msg-id 20180504184656.rfwi3h2uo3cyf6xe@alap3.anarazel.de
Whole thread Raw
In response to Re: pageinspect get_raw_page() option to return invalid pages  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: pageinspect get_raw_page() option to return invalid pages  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-hackers
On 2018-05-04 11:42:35 -0700, Peter Geoghegan wrote:
> On Fri, May 4, 2018 at 11:41 AM, Andres Freund <andres@anarazel.de> wrote:
> > Hi,
> >
> > Currently there's no convenient way to get a corrupted page (be it a
> > checksum failure, corrupted pd_upper/lower or whatnot) via pageinspect's
> > get_raw_page(). Given that pageinspect is kind of our tool to do inspect
> > issues on a data level that's not so great.
> >
> > I therefore propose that we add an *option* that bypasses shared buffers
> > and reads the underlying data directly. And then skips over the
> > validation.  I'm not 100% sure if this should be done unconditionally,
> > or only if the item wasn't found in cache. There's some coherency
> > differences, obviously.
> 
> +1. This would be a good option for amcheck, too.

Could you expand on that? Are you envisioning an option to
ReadBufferExtended()? Because that's certainly not what I'm thinking of
- it seems dangerous to populate shared buffers with an invalid
page. Therefore I was more thinking to falling back to smgrread() or
such.

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: pageinspect get_raw_page() option to return invalid pages
Next
From: Peter Geoghegan
Date:
Subject: Re: pageinspect get_raw_page() option to return invalid pages