</para>
<para>
- The fact that <literal>ALTER TYPE</> requires rewriting the whole table
+ The fact that <literal>SET DATA TYPE</> requires rewriting the whole table
is sometimes an advantage, because the rewriting process eliminates
any dead space in the table. For example, to reclaim the space occupied
by a dropped column immediately, the fastest way is:
</para>
<para>
- The <literal>USING</literal> option of <literal>ALTER TYPE</> can actually
+ The <literal>USING</literal> option of <literal>SET DATA TYPE</> can actually
specify any expression involving the old values of the row; that is, it
can refer to other columns as well as the one being converted. This allows
- very general conversions to be done with the <literal>ALTER TYPE</>
+ very general conversions to be done with the <literal>SET DATA TYPE</>
syntax. Because of this flexibility, the <literal>USING</literal>
expression is not applied to the column's default value (if any); the
result might not be a constant expression as required for a default.
This means that when there is no implicit or assignment cast from old to
- new type, <literal>ALTER TYPE</> might fail to convert the default even
+ new type, <literal>SET DATA TYPE</> might fail to convert the default even
though a <literal>USING</literal> clause is supplied. In such cases,
drop the default with <literal>DROP DEFAULT</>, perform the <literal>ALTER
TYPE</>, and then use <literal>SET DEFAULT</> to add a suitable new