Commit 0734b0e9 authored by Amit Kapila's avatar Amit Kapila

Improve docs and error messages for parallel vacuum.

The error messages, docs, and one of the options were using
'parallel degree' to indicate parallelism used by vacuum command. We
normally use 'parallel workers' at other places so change it for parallel
vacuum accordingly.

Author: Bharath Rupireddy
Reviewed-by: Dilip Kumar, Amit Kapila
Backpatch-through: 13
Discussion: https://postgr.es/m/CALj2ACWz=PYrrFXVsEKb9J1aiX4raA+UBe02hdRp_zqDkrWUiw@mail.gmail.com
parent 01e6f1a8
...@@ -275,11 +275,11 @@ PostgreSQL documentation ...@@ -275,11 +275,11 @@ PostgreSQL documentation
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>-P <replaceable class="parameter">parallel_degree</replaceable></option></term> <term><option>-P <replaceable class="parameter">parallel_workers</replaceable></option></term>
<term><option>--parallel=<replaceable class="parameter">parallel_degree</replaceable></option></term> <term><option>--parallel=<replaceable class="parameter">parallel_workers</replaceable></option></term>
<listitem> <listitem>
<para> <para>
Specify the parallel degree of <firstterm>parallel vacuum</firstterm>. Specify the number of parallel workers for <firstterm>parallel vacuum</firstterm>.
This allows the vacuum to leverage multiple CPUs to process indexes. This allows the vacuum to leverage multiple CPUs to process indexes.
See <xref linkend="sql-vacuum"/>. See <xref linkend="sql-vacuum"/>.
</para> </para>
......
...@@ -165,7 +165,7 @@ ExecVacuum(ParseState *pstate, VacuumStmt *vacstmt, bool isTopLevel) ...@@ -165,7 +165,7 @@ ExecVacuum(ParseState *pstate, VacuumStmt *vacstmt, bool isTopLevel)
if (nworkers < 0 || nworkers > MAX_PARALLEL_WORKER_LIMIT) if (nworkers < 0 || nworkers > MAX_PARALLEL_WORKER_LIMIT)
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("parallel vacuum degree must be between 0 and %d", errmsg("parallel workers for vacuum must be between 0 and %d",
MAX_PARALLEL_WORKER_LIMIT), MAX_PARALLEL_WORKER_LIMIT),
parser_errposition(pstate, opt->location))); parser_errposition(pstate, opt->location)));
......
...@@ -200,7 +200,7 @@ main(int argc, char *argv[]) ...@@ -200,7 +200,7 @@ main(int argc, char *argv[])
vacopts.parallel_workers = atoi(optarg); vacopts.parallel_workers = atoi(optarg);
if (vacopts.parallel_workers < 0) if (vacopts.parallel_workers < 0)
{ {
pg_log_error("parallel vacuum degree must be a non-negative integer"); pg_log_error("parallel workers for vacuum must be greater than or equal to zero");
exit(1); exit(1);
} }
break; break;
...@@ -1000,7 +1000,7 @@ help(const char *progname) ...@@ -1000,7 +1000,7 @@ help(const char *progname)
printf(_(" --no-index-cleanup don't remove index entries that point to dead tuples\n")); printf(_(" --no-index-cleanup don't remove index entries that point to dead tuples\n"));
printf(_(" --no-process-toast skip the TOAST table associated with the table to vacuum\n")); printf(_(" --no-process-toast skip the TOAST table associated with the table to vacuum\n"));
printf(_(" --no-truncate don't truncate empty pages at the end of the table\n")); printf(_(" --no-truncate don't truncate empty pages at the end of the table\n"));
printf(_(" -P, --parallel=PARALLEL_DEGREE use this many background workers for vacuum, if available\n")); printf(_(" -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n"));
printf(_(" -q, --quiet don't write any messages\n")); printf(_(" -q, --quiet don't write any messages\n"));
printf(_(" --skip-locked skip relations that cannot be immediately locked\n")); printf(_(" --skip-locked skip relations that cannot be immediately locked\n"));
printf(_(" -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n")); printf(_(" -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n"));
......
...@@ -110,7 +110,7 @@ VACUUM (PARALLEL 2) pvactst; ...@@ -110,7 +110,7 @@ VACUUM (PARALLEL 2) pvactst;
UPDATE pvactst SET i = i WHERE i < 1000; UPDATE pvactst SET i = i WHERE i < 1000;
VACUUM (PARALLEL 0) pvactst; -- disable parallel vacuum VACUUM (PARALLEL 0) pvactst; -- disable parallel vacuum
VACUUM (PARALLEL -1) pvactst; -- error VACUUM (PARALLEL -1) pvactst; -- error
ERROR: parallel vacuum degree must be between 0 and 1024 ERROR: parallel workers for vacuum must be between 0 and 1024
LINE 1: VACUUM (PARALLEL -1) pvactst; LINE 1: VACUUM (PARALLEL -1) pvactst;
^ ^
VACUUM (PARALLEL 2, INDEX_CLEANUP FALSE) pvactst; VACUUM (PARALLEL 2, INDEX_CLEANUP FALSE) pvactst;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment