On Wed, Dec 11, 2019 at 09:15:07PM +0900, Michael Paquier wrote:
> On Fri, Dec 06, 2019 at 10:23:25AM -0600, Justin Pryzby wrote:
> > Find attached updated patch:
> > . Use structure to include relation name.
> > . Split into a separate patch rename of "StringInfoData buf".
> >
> > 2019-11-27 20:04:53.640 CST [14244] ERROR: canceling statement due to statement timeout
> > 2019-11-27 20:04:53.640 CST [14244] CONTEXT: block 2314 of relation t
> > 2019-11-27 20:04:53.640 CST [14244] STATEMENT: vacuum t;
> >
> > I tried to use BufferGetTag() to avoid using a 2ndary structure, but fails if
> > the buffer is not pinned.
>
> No problem from me to add more context directly in lazy_scan_heap().
Do you mean without a callback ? I think that's necessary, since the IO errors
would happen within ReadBufferExtended, but we don't want to polute that with
errcontext. And cannot call errcontext on its own:
FATAL: errstart was not called
> So I would suggest the following instead:
> "while scanning block %u of relation \"%s.%s\""
Done in the attached.