Re: [HACKERS] Block level parallel vacuum - Mailing list pgsql-hackers

From Sergei Kornilov
Subject Re: [HACKERS] Block level parallel vacuum
Date
Msg-id 17809001578651662@vla1-422f52264539.qloud-c.yandex.net
Whole thread Raw
In response to Re: [HACKERS] Block level parallel vacuum  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: [HACKERS] Block level parallel vacuum
Re: [HACKERS] Block level parallel vacuum
List pgsql-hackers
Hi
Thank you for update! I looked again

(vacuum_indexes_leader)
+        /* Skip the indexes that can be processed by parallel workers */
+        if (!skip_index)
+            continue;

Does the variable name skip_index not confuse here? Maybe rename to something like can_parallel?

Another question about behavior on temporary tables. Use case: the user commands just "vacuum;" to vacuum entire
database(and has enough maintenance workers). Vacuum starts fine in parallel, but on first temporary table we hit:
 

+    if (RelationUsesLocalBuffers(onerel) && params->nworkers >= 0)
+    {
+        ereport(WARNING,
+                (errmsg("disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in
parallel",
+                        RelationGetRelationName(onerel))));
+        params->nworkers = -1;
+    }

And therefore we turn off the parallel vacuum for the remaining tables... Can we improve this case?

regards, Sergei



pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Add pg_file_sync() to adminpack
Next
From: Michael Paquier
Date:
Subject: Re: Assert failure due to "drop schema pg_temp_3 cascade" fortemporary tables and \d+ is not showing any info after drooping temp tableschema