@@ -43,30 +43,45 @@ ALTER TABLESPACE <replaceable>name</replaceable> MOVE { ALL | TABLES | INDEXES |
43
43
To alter the owner, you must also be a direct or indirect member of the new
44
44
owning role.
45
45
(Note that superusers have these privileges automatically.)
46
+ </para>
47
+
48
+ <para>
49
+ <literal>ALTER TABLESPACE ... MOVE</literal> moves objects between
50
+ tablespaces. <literal>ALL</literal> will move all tables, indexes and
51
+ materialized views; specifying <literal>TABLES</literal> will move only
52
+ tables (but not their indexes), <literal>INDEXES</literal> will only move
53
+ indexes (including those underneath materialized views, but not tables),
54
+ and <literal>MATERIALIZED VIEWS</literal> will only move the table relation
55
+ of the materialized view (but no indexes associated with it). Users can
56
+ also specify a list of roles whose objects are to be moved, using
57
+ <literal>OWNED BY</literal>.
58
+ </para>
46
59
47
- Users may use ALTER TABLESPACE ... MOVE to move objects between tablespaces.
48
- ALL will move all tables, indexes and materialized views while specifying
49
- TABLES will move only tables (but not their indexes), INDEXES will only move
50
- indexes (including those underneath materialized views, but not tables) and
51
- MATERIALIZED VIEWS will only move the table relation of the materialized
52
- view (but no indexes associated with it). Users may also specify a list of
53
- roles whose objects are to be moved using OWNED BY.
54
-
55
- Users must have CREATE rights on the new tablespace and be considered an
56
- owner (either directly or indirectly) on all objects to be moved. Note that
57
- the superuser is considered an owner of all objects and therefore an
58
- ALTER TABLESPACE ... MOVE ALL issued by the superuser will move all objects
59
- in the current database which are in the tablespace.
60
-
61
- All objects to be moved will be locked immediately by the command. The
62
- NOWAIT option, if specified, will cause the command to fail if it is unable
63
- to acquire the locks.
64
-
65
- System catalogs will not be moved by this command- individuals wishing to
66
- move a whole database should use ALTER DATABASE, or call ALTER TABLE on the
67
- individual system catalogs. Note that relations in <literal>information_schema</literal>
68
- will be moved, just as any other normal database objects, if the user is the
69
- superuser or considered an owner of the relations in <literal>information_schema</literal>.
60
+ <para>
61
+ Users must have <literal>CREATE</literal> rights on the new tablespace and
62
+ be considered an owner (either directly or indirectly) of all objects to be
63
+ moved. Note that the superuser is considered an owner of all objects, and
64
+ therefore an <literal>ALTER TABLESPACE ... MOVE ALL</literal> issued by the
65
+ superuser will move all objects in the current database that are in the
66
+ tablespace. (Attempting to move objects without the required rights will
67
+ result in an error. Non-superusers can use <literal>OWNED BY</literal> in
68
+ such cases, to restrict the set of objects moved to those with the required
69
+ rights.)
70
+ </para>
71
+
72
+ <para>
73
+ All objects to be moved will be locked immediately by the command. If the
74
+ <literal>NOWAIT</literal> is specified, it will cause the command to fail
75
+ if it is unable to acquire the locks.
76
+ </para>
77
+
78
+ <para>
79
+ System catalogs will not be moved by this command. To move a whole
80
+ database, use <command>ALTER DATABASE</command>, or call <command>ALTER
81
+ TABLE</command> on the individual system catalogs. Note that relations in
82
+ <literal>information_schema</literal> will be moved, just as any other
83
+ normal database objects, if the user is the superuser or considered an
84
+ owner of the relations in <literal>information_schema</literal>.
70
85
</para>
71
86
</refsect1>
72
87
@@ -125,7 +140,7 @@ ALTER TABLESPACE <replaceable>name</replaceable> MOVE { ALL | TABLES | INDEXES |
125
140
<term><replaceable class="parameter">role_name</replaceable></term>
126
141
<listitem>
127
142
<para>
128
- Role(s) whose objects are to be moved.
143
+ Role whose objects are to be moved.
129
144
</para>
130
145
</listitem>
131
146
</varlistentry>
@@ -135,20 +150,20 @@ ALTER TABLESPACE <replaceable>name</replaceable> MOVE { ALL | TABLES | INDEXES |
135
150
<listitem>
136
151
<para>
137
152
The name of the tablespace to move objects into. The user must have
138
- CREATE rights on the new tablespace to move objects into that
153
+ <literal> CREATE</literal> rights on the new tablespace to move objects into that
139
154
tablespace, unless the tablespace being moved into is the default
140
155
tablespace for the database connected to.
141
156
</para>
142
157
</listitem>
143
158
</varlistentry>
144
159
145
160
<varlistentry>
146
- <term><replaceable class="parameter"> NOWAIT</replaceable> </term>
161
+ <term>NOWAIT</term>
147
162
<listitem>
148
163
<para>
149
- The NOWAIT option causes the ALTER TABLESPACE command to fail immediately
164
+ The <literal> NOWAIT</literal> option causes the <command> ALTER TABLESPACE</command> command to fail immediately
150
165
if it is unable to acquire the necessary lock on all of the objects being
151
- move .
166
+ moved .
152
167
</para>
153
168
</listitem>
154
169
</varlistentry>
@@ -173,7 +188,7 @@ ALTER TABLESPACE index_space OWNER TO mary;
173
188
</programlisting></para>
174
189
175
190
<para>
176
- Move all of the objects which I own from the default tablespace to
191
+ Move all of the objects from the default tablespace to
177
192
the <literal>fast_raid</literal> tablespace:
178
193
<programlisting>
179
194
ALTER TABLESPACE pg_default MOVE ALL TO fast_raid;
0 commit comments