Re: error context for vacuum to include block number

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: error context for vacuum to include block number
Date: 2019-12-11 12:15:07
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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().

+ // errcallback.arg = (void *) &buf;
The first patch is full of that, please make sure to clean it up.

Let's keep also the message simple, still I think that it should be a
bit more explicative:
1) Let's the schema name, and quote the relation name.
2) Let's mention the scanning (or vacuuming) operation.

So I would suggest the following instead:
"while scanning block %u of relation \"%s.%s\""

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message PG Bug reporting form 2019-12-11 12:39:20 BUG #16159: recovery requests WALs for the next timelines before timeline switch LSN has been reached
Previous Message Amit Kapila 2019-12-11 11:52:28 Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions