Correct ALTER TYPE -> SET DATA TYPE in ALTER TABLE documentation.
The latter is the correct name of the operation to change the data type of a column. Noah Misch
This commit is contained in:
parent
5042d16d12
commit
2b2b2ae2aa
@ -777,7 +777,7 @@ ALTER TABLE <replaceable class="PARAMETER">name</replaceable>
|
||||
</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:
|
||||
@ -792,15 +792,15 @@ ALTER TABLE table ALTER COLUMN anycol TYPE anytype;
|
||||
</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
|
||||
|
Loading…
x
Reference in New Issue
Block a user