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-30T09:01:53Z
Lists: pgsql-hackers

Attachments

On Fri, Mar 27, 2020 at 5:03 AM Justin Pryzby <pryzby@telsasoft.com> wrote:
>

Now that the main patch is committed, I have reviewed the other two patches.

v37-0002-Drop-reltuples
1.
@@ -2289,11 +2289,10 @@ vacuum_one_index(Relation indrel,
IndexBulkDeleteResult **stats,

  /* Do vacuum or cleanup of the index */
  if (lvshared->for_cleanup)
- lazy_cleanup_index(indrel, stats, lvshared->reltuples,
-    lvshared->estimated_count, vacrelstats);
+ lazy_cleanup_index(indrel, stats, vacrelstats);
  else
  lazy_vacuum_index(indrel, stats, dead_tuples,
-   lvshared->reltuples, vacrelstats);
+   vacrelstats);

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)?

The v37-0003-Avoid-some-calls-to-RelationGetRelationName.patch looks
good to me.  I have added the commit message in the patch.

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

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