pageinspect option to forgo buffer locking?

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: pageinspect option to forgo buffer locking?
Date: 2017-11-09 17:49:11
Message-ID: 20171109174911.m6nfe3gmb3ugk53x@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Occasionally, when debugging issues, I find it quite useful to be able
to do a heap_page_items() on a page that's actually locked exclusively
concurrently. E.g. investigating the recent multixact vacuuming issues,
it was very useful to attach a debugger to one backend to step through
freezing, and display the page in another session.

Currently the locking in get_raw_page_internal() prevents that. If it's
an option defaulting to off, I don't see why we couldn't allow that to
skip locking the page's contents. Obviously you can get corrupted
contents that way, but we already allow to pass arbitrary stuff to
heap_page_items(). Since pinning wouldn't be changed, there's no danger
of the page being moved out from under us.

Greetings,

Andres Freund

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2017-11-09 17:51:25 Re: pageinspect option to forgo buffer locking?
Previous Message Fabrízio de Royes Mello 2017-11-09 17:32:42 Re: [PATCH] A hook for session start