mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Allow ALTER TABLE name {OF type | NOT OF}.
This syntax allows a standalone table to be made into a typed table, or a typed table to be made standalone. This is possibly a mildly useful feature in its own right, but the real motivation for this change is that we need it to make pg_upgrade work with typed tables. This doesn't actually fix that problem, but it's necessary infrastructure. Noah Misch
This commit is contained in:
@ -63,6 +63,8 @@ ALTER TABLE <replaceable class="PARAMETER">name</replaceable>
|
||||
RESET ( <replaceable class="PARAMETER">storage_parameter</replaceable> [, ... ] )
|
||||
INHERIT <replaceable class="PARAMETER">parent_table</replaceable>
|
||||
NO INHERIT <replaceable class="PARAMETER">parent_table</replaceable>
|
||||
OF <replaceable class="PARAMETER">type_name</replaceable>
|
||||
NOT OF
|
||||
OWNER TO <replaceable class="PARAMETER">new_owner</replaceable>
|
||||
SET TABLESPACE <replaceable class="PARAMETER">new_tablespace</replaceable>
|
||||
|
||||
@ -490,6 +492,30 @@ ALTER TABLE <replaceable class="PARAMETER">name</replaceable>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>OF <replaceable class="PARAMETER">type_name</replaceable></literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
This form links the table to a composite type as though <command>CREATE
|
||||
TABLE OF</> had formed it. The table's list of column names and types
|
||||
must precisely match that of the composite type; the presence of
|
||||
an <literal>oid</> system column is permitted to differ. The table must
|
||||
not inherit from any other table. These restrictions ensure
|
||||
that <command>CREATE TABLE OF</> would permit an equivalent table
|
||||
definition.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>NOT OF</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
This form dissociates a typed table from its type.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>OWNER</literal></term>
|
||||
<listitem>
|
||||
|
Reference in New Issue
Block a user