Re: Allow CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly

From: Alexey Kondratov <a(dot)kondratov(at)postgrespro(dot)ru>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Masahiko Sawada <masahiko(dot)sawada(at)2ndquadrant(dot)com>, Steve Singer <steve(at)ssinger(dot)info>, pgsql-hackers(at)lists(dot)postgresql(dot)org, 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: 2021-01-20 18:10:14
Message-ID: 03f88f70618ce73e75837b6125a143f7@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2021-01-20 21:08, Alexey Kondratov wrote:
> On 2021-01-20 18:54, Alvaro Herrera wrote:
>> On 2021-Jan-20, Alvaro Herrera wrote:
>>
>>> On 2021-Jan-20, Michael Paquier wrote:
>>>
>>> > +/*
>>> > + * This is mostly duplicating ATExecSetTableSpaceNoStorage,
>>> > + * which should maybe be factored out to a library function.
>>> > + */
>>> > Wouldn't it be better to do first the refactoring of 0002 and then
>>> > 0001 so as REINDEX can use the new routine, instead of putting that
>>> > into a comment?
>>>
>>> I think merging 0001 and 0002 into a single commit is a reasonable
>>> approach.
>>
>> ... except it doesn't make a lot of sense to have set_rel_tablespace
>> in
>> either indexcmds.c or index.c. I think tablecmds.c is a better place
>> for it. (I would have thought catalog/storage.c, but that one's not
>> the
>> right abstraction level it seems.)
>>
>
> I did a refactoring of ATExecSetTableSpaceNoStorage() in the 0001. New
> function SetRelTablesapce() is placed into the tablecmds.c. Following
> 0002 gets use of it. Is it close to what you and Michael suggested?
>

Ugh, forgot to attach the patches. Here they are.

--
Alexey

Attachment Content-Type Size
v2-0002-Allow-REINDEX-to-change-tablespace.patch text/x-diff 22.7 KB
v2-0001-Ectract-common-part-from-ATExecSetTableSpaceNoSto.patch text/x-diff 4.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2021-01-20 18:16:34 Re: Jsonpath ** vs lax mode
Previous Message Alexey Kondratov 2021-01-20 18:08:11 Re: Allow CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly