Re: pageinspect get_raw_page() option to return invalid pages

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: pageinspect get_raw_page() option to return invalid pages
Дата
Msg-id 20180504184656.rfwi3h2uo3cyf6xe@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: pageinspect get_raw_page() option to return invalid pages  (Peter Geoghegan <pg@bowt.ie>)
Ответы Re: pageinspect get_raw_page() option to return invalid pages  (Peter Geoghegan <pg@bowt.ie>)
Список 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 по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: pageinspect get_raw_page() option to return invalid pages
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: pageinspect get_raw_page() option to return invalid pages