</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">data_type</replaceable></term>
<listitem>
<para>
The data type of the attribute to add, or the new type of the
attribute to alter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">new_enum_value</replaceable></term>
<listitem>
<para>
The new value to be added to an enum type's list of values,
or the new name to be given to an existing value.
Like all enum literals, it needs to be quoted.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">neighbor_enum_value</replaceable></term>
<listitem>
<para>
The existing enum value that the new value should be added immediately
before or after in the enum type's sort ordering.
Like all enum literals, it needs to be quoted.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">existing_enum_value</replaceable></term>
<listitem>
<para>
The existing enum value that should be renamed.
Like all enum literals, it needs to be quoted.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">property</replaceable></term>
<listitem>
<para>
The name of a base-type property to be modified; see above for
possible values.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>CASCADE</literal></term>
<listitem>
<para>
Automatically propagate the operation to typed tables of the
type being altered, and their descendants.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>RESTRICT</literal></term>
<listitem>
<para>
Refuse the operation if the type being altered is the type of a
typed table. This is the default.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
If <command>ALTER TYPE ... ADD VALUE</command> (the form that adds a new
value to an enum type) is executed inside a transaction block, the new
value cannot be used until after the transaction has been committed.
</para>