On Thu, Mar 26, 2020 at 11:01:06PM -0500, Justin Pryzby wrote:
> > Another issue is this:
> > > +VACUUM ( FULL [, ...] ) [ TABLESPACE <replaceable class="parameter">new_tablespace</replaceable> ] [
<replaceableclass="parameter">table_and_columns</replaceable> [, ...] ]
> > As you mentioned in your v1 patch, in the other cases, "tablespace
> > [tablespace]" is added at the end of the command rather than in the middle. I
> > wasn't able to make that work, maybe because "tablespace" isn't a fully
> > reserved word (?). I didn't try with "SET TABLESPACE", although I understand
> > it'd be better without "SET".
>
> I think we should use the parenthesized syntax for vacuum - it seems clear in
> hindsight.
I implemented this last night but forgot to attach it.
> Possibly REINDEX should use that, too, instead of adding OptTablespace at the
> end. I'm not sure.
>
> CLUSTER doesn't support parenthesized syntax, but .. maybe it should?
>
> Also, perhaps VAC FULL (and CLUSTER, if it grows parenthesized syntax), should
> support something like this:
>
> USING INDEX TABLESPACE name
>
> I guess I would prefer just "index tablespace", without "using":
>
> |VACUUM(FULL, TABLESPACE ts, INDEX TABLESPACE its) t;
> |CLUSTER(VERBOSE, TABLESPACE ts, INDEX TABLESPACE its) t;