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

From Andres Freund
Subject pageinspect get_raw_page() option to return invalid pages
Date
Msg-id 20180504184120.6fjstoytygo5dxf2@alap3.anarazel.de
Whole thread Raw
Responses Re: pageinspect get_raw_page() option to return invalid pages  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-hackers
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.

We could also just make it two functions, instead of a parameter.

It's unfortunately not entirely trivial to access specific blocks with
pg_read_binary_file() - one needs a query that deals with block sizes,
segment numbers, segment sizes etc...

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: MSYS2 and pg_upgrade testing
Next
From: Peter Geoghegan
Date:
Subject: Re: pageinspect get_raw_page() option to return invalid pages