* Tom Lane (t...@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
signature.asc
Description: Digital signature