Re: ALTER TABLESPACE ... MOVE ALL TO ...

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: ALTER TABLESPACE ... MOVE ALL TO ...
Дата
Msg-id 20140120160022.GK31026@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: ALTER TABLESPACE ... MOVE ALL TO ...  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: ALTER TABLESPACE ... MOVE ALL TO ...  (Simon Riggs <simon@2ndQuadrant.com>)
Список pgsql-hackers
* Tom Lane (tgl@sss.pgh.pa.us) wrote:
> What if you're a superuser and you want to move everybody's objects
> (perhaps in preparation for dropping the tablespace)?  I think there's
> value in both the ALL and OWNED forms.

A superuser is considered to 'own' all objects and so 'ALL' and 'OWNED'
above would be the same when issued by a superuser, in the current
implementation.

Looking at DROP OWNED and REASSIGN OWNED, they operate at the more
specific level of "OWNED" == "relowner" rather than if the role is
considered an 'owner' of the object through role membership, as you are
implying above.

As such, I'll rework this to be more in-line with the existing OWNED BY
semantics of REASSIGN OWNED BY and DROP OWNED BY, which means we'd have:

ALTER TABLESPACE name MOVE [ ALL | OWNED [ BY reluser ] ]   [ TABLES | INDEXES | MATERIALIZED VIEWS ] TO name
opt_nowait

eg:

ALTER TABLESPACE tblspc1 MOVE ALL TO tblspc2;
ALTER TABLESPACE tblspc1 MOVE OWNED TO tblspc2;
ALTER TABLESPACE tblspc1 MOVE OWNED BY myrole TO tblspc2;
ALTER TABLESPACE tblspc1 MOVE TABLES OWNED BY myrole TO tblspc2;
ALTER TABLESPACE tblspc1 MOVE ALL OWNED BY myrole TO tblspc2;
Thoughts?
    Thanks,
        Stephen

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: ALTER TABLESPACE ... MOVE ALL TO ...
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: ALTER TABLESPACE ... MOVE ALL TO ...