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