On 2016/12/01 1:17, Tom Lane wrote:
> Stephen Frost <sfr...@snowman.net> writes:
>> Seems like this would be a bit better:
>> All the actions, when acting on a single table and not using the ALL IN
>> TABLESPACE form, except RENAME and SET SCHEMA, can be combined into a
>> list of multiple alterations to be applied.
>> I note that we say 'in parallel', but given that we have actual parallel
>> operations now, we should probably shy away from using that except in
>> cases where we actually mean operations utilizing multiple parallel
> I follow your beef with use of the word "parallel", but your proposed
> rewording loses the entire point of multiple actions per ALTER TABLE;
> namely that they're accomplished without repeated scans of the table.
> Also the above seems a bit clunky; doesn't ALL IN TABLESPACE fall outside
> the restriction "acting on a single table"?
> So maybe something like
> All the forms of ALTER TABLE that act on a single table,
> except RENAME and SET SCHEMA, can be combined into a
> list of multiple alterations to be applied together.
Updated patch attached.
> We would have to enlarge on what "together" means, but I think there may
> already be text explaining that further down.
There is this explanation:
The main reason for providing the option to specify multiple changes
in a single <command>ALTER TABLE</> is that multiple table scans or
rewrites can thereby be combined into a single pass over the table.
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index e48ccf2..9e79e08 100644
@@ -708,12 +708,11 @@ ALTER TABLE ALL IN TABLESPACE <replaceable class="PARAMETER">name</replaceable>
- All the actions except <literal>RENAME</literal>,
- <literal>SET TABLESPACE</literal> and <literal>SET SCHEMA</literal>
- can be combined into
- a list of multiple alterations to apply in parallel. For example, it
- is possible to add several columns and/or alter the type of several
- columns in a single command. This is particularly useful with large
+ All the forms of <literal>ALTER TABLE</literal> that act on a single table,
+ except <literal>RENAME</literal> and <literal>SET SCHEMA</literal>, can be
+ combined into a list of multiple alterations to be applied together.
+ For example, it is possible to add several columns and/or alter the type of
+ several columns in a single command. This is particularly useful with large
tables, since only one pass over the table need be made.
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: