Re: Vacuum o/p with (full 1, parallel 0) option throwing an error
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>,
Justin Pryzby <pryzby@telsasoft.com>, Mahendra Singh Thalor <mahi6run@gmail.com>,
Robert Haas <robertmhaas@gmail.com>, tushar <tushar.ahuja@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-04-14T03:25:15Z
Lists: pgsql-hackers
On Tue, Apr 14, 2020 at 7:52 AM Michael Paquier <michael@paquier.xyz> wrote:
>
> Makes sense. I have two comments.
>
> ereport(ERROR,
> (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
> - errmsg("cannot specify both FULL and PARALLEL options")));
> + errmsg("VACUUM FULL cannot be performed in parallel")));
> Better to avoid a full sentence here [1]? This should be a "cannot do
> foo" errror.
>
I could see similar error messages in other places like below:
CONCURRENTLY cannot be used when the materialized view is not populated
CONCURRENTLY and WITH NO DATA options cannot be used together
COPY delimiter cannot be newline or carriage return
Also, I am not sure if it violates the style we have used in code. It
seems the error message is short, succinct and conveys the required
information.
> -VACUUM (PARALLEL 1) tmp; -- disables parallel vacuum option
> +VACUUM (PARALLEL 1) tmp; -- parallel vacuum disabled for temp tables
> WARNING: disabling parallel option of vacuum on "tmp" --- cannot vacuum temporary tables in parallel
> +VACUUM (PARALLEL 0, FULL TRUE) tmp; -- can specify parallel disabled (even though that's implied by FULL)
>
> To fully close the gap in the tests, I would also add a test for
> (PARALLEL 1, FULL false) where FULL directly specified, even if that
> sounds like a nit. That's fine to test even on a temporary table.
>
Okay, I will do this once we agree on the error message stuff.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix the usage of parallel and full options of vacuum command.
- 24d2d38b1eb8 13.0 landed
-
pg_restore -jN does not equate "multiple jobs", so partly revert the
- 14a4f6f3748d 8.4.0 cited