| From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> | 
|---|---|
| To: | Alexey Kondratov <a(dot)kondratov(at)postgrespro(dot)ru> | 
| Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Masahiko Sawada <masahiko(dot)sawada(at)2ndquadrant(dot)com>, Steve Singer <steve(at)ssinger(dot)info>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Jose Luis Tallon <jltallon(at)adv-solutions(dot)net> | 
| Subject: | Re: Allow CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly | 
| Date: | 2020-03-27 20:15:42 | 
| Message-ID: | 20200327201541.GA23323@telsasoft.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
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> ] [ <replaceable class="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;
| Attachment | Content-Type | Size | 
|---|---|---|
| v13-0001-Allow-REINDEX-to-change-tablespace.patch | text/x-diff | 34.0 KB | 
| v13-0002-Allow-CLUSTER-and-VACUUM-FULL-to-change-tablespa.patch | text/x-diff | 24.8 KB | 
| v13-0003-Parenthesized-syntax-VACUUM-FULL-TABLESPACE.patch | text/x-diff | 9.6 KB | 
| v13-0004-fixes2.patch | text/x-diff | 4.2 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David Steele | 2020-03-27 20:16:11 | Re: backup manifests | 
| Previous Message | Andres Freund | 2020-03-27 20:12:22 | Re: backup manifests |