Re: error context for vacuum to include block number
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org, Andres Freund <andres@anarazel.de>
Date: 2019-12-11T12:15:07Z
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\"" -- Michael
Commits
-
Avoid calls to RelationGetRelationName() and RelationGetNamespace() in
- ef75140fe756 13.0 landed
-
Introduce vacuum errcontext to display additional information.
- b61d161c1463 13.0 landed
-
Fix mesurement of elapsed time during truncating heap in VACUUM.
- 007491979461 13.0 cited
-
Allow vacuum command to process indexes in parallel.
- 40d964ec997f 13.0 cited
-
Refactor code dedicated to index vacuuming in vacuumlazy.c
- 1ab41a3c8edc 13.0 landed
-
Remove duplicated progress reporting during heap scan of VACUUM
- e5a02e0fc68b 13.0 landed