Re: error context for vacuum to include block number
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Masahiko Sawada <masahiko.sawada@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>, Michael Paquier <michael@paquier.xyz>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-03-31T02:20:45Z
Lists: pgsql-hackers
On Mon, Mar 30, 2020 at 9:56 PM Justin Pryzby <pryzby@telsasoft.com> wrote: > > On Mon, Mar 30, 2020 at 02:31:53PM +0530, Amit Kapila wrote: > > The v37-0003-Avoid-some-calls-to-RelationGetRelationName.patch looks > > good to me. I have added the commit message in the patch. > > I realized the 0003 patch has an error in lazy_vacuum_index; it should be: > > - RelationGetRelationName(indrel), > + vacrelstats->indname, > Hmm, it is like that in the patch I have sent yesterday. Are you referring to the patch I have sent yesterday or some older version? One thing I have noticed is that there is some saving by using vacrelstats->relnamespace as that avoids sys cache lookup. OTOH, using vacrelstats->relname doesn't save much, but maybe for the sake of consistency, we can use it. > That was maybe due to originally using a separate errinfo for each phase, with > one "char *relname" and no "char *indrel". > > > I don't think the above change is correct. How will vacrelstats have > > correct values when vacuum_one_index is called via parallel workers > > (via parallel_vacuum_main)? > > You're right: parallel main's vacrelstats was added by this patchset and only > the error context fields were initialized. I fixed it up in the attached by > also setting vacrelstats->new_rel_tuples and old_live_tuples. It's not clear > if this is worth it just to save an argument to two functions? > Right, it is not clear to me whether that is an improvement, so I suggest let's leave that patch for now. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
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