Re: error context for vacuum to include block number

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Amit Kapila <amit.kapila16@gmail.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-31T03:23:08Z
Lists: pgsql-hackers
On Tue, Mar 31, 2020 at 07:50:45AM +0530, Amit Kapila wrote:
> 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?

Oh good.  That was a recent fix I made, and I was afraid I'd never sent it, and
not sure if you'd used it.  Looks like it was fixed since v36...  As you can
see, I'm losing track of my branches.  It will be nice to finally put this to
rest.

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

Mostly I wrote that to avoid repeatedly calling functions/macro with long name.
I consider it a minor cleanup.  I think we should put them to use.  The
LVRelStats describes them as not being specifically for the error context.

-- 
Justin



Commits

  1. Avoid calls to RelationGetRelationName() and RelationGetNamespace() in

  2. Introduce vacuum errcontext to display additional information.

  3. Fix mesurement of elapsed time during truncating heap in VACUUM.

  4. Allow vacuum command to process indexes in parallel.

  5. Refactor code dedicated to index vacuuming in vacuumlazy.c

  6. Remove duplicated progress reporting during heap scan of VACUUM