class="parameter">new_owner</replaceable></term>
<listitem>
<para>
The user name of the new owner of the view.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
<para>
The new name for the view.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">new_schema</replaceable></term>
<listitem>
<para>
The new schema for the view.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>SET ( <replaceable class="parameter">view_option_name</replaceable> [= <replaceable class="parameter">view_option_value</replaceable>] [, ... ] )</literal></term>
<term><literal>RESET ( <replaceable class="parameter">view_option_name</replaceable> [, ... ] )</literal></term>
<listitem>
<para>
Sets or resets a view option. Currently supported options are:
<variablelist>
<varlistentry>
<term><literal>check_option</literal> (<type>enum</type>)</term>
<listitem>
<para>
Changes the check option of the view. The value must
be <literal>local</literal> or <literal>cascaded</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>security_barrier</literal> (<type>boolean</type>)</term>
<listitem>
<para>
Changes the security-barrier property of the view. The value must
be a Boolean value, such as <literal>true</literal>
or <literal>false</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>security_invoker</literal> (<type>boolean</type>)</term>
<listitem>
<para>
Changes the security-invoker property of the view. The value must
be a Boolean value, such as <literal>true</literal>
or <literal>false</literal>.
</para>
</listitem>
</varlistentry>
</variablelist></para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
For historical reasons, <command>ALTER TABLE</command> can be used with
views too; but the only variants of <command>ALTER TABLE</command>
that are allowed with views are equivalent to the ones shown above.
</para>
</refsect1>
<refsect1>
<title>Examples</title>
<para>
To rename the view <literal>foo</literal> to
<literal>bar</literal>:
<programlisting>
ALTER VIEW foo RENAME TO bar;
</programlisting>
</para>
<para>
To attach a default column value to an updatable view:
<programlisting>
CREATE TABLE base_table (id int, ts timestamptz);
CREATE VIEW a_view AS SELECT * FROM base_table;
ALTER VIEW a_view ALTER COLUMN ts SET DEFAULT now();
INSERT INTO base_table(id) VALUES(1); -- ts will receive a NULL
INSERT INTO a_view(id) VALUES(2); -- ts will receive the current time
</programlisting></para>
</refsect1>
<refsect1>
<title>Compatibility</title>
<para>
<command>ALTER VIEW</command> is a <productname>PostgreSQL</productname>
extension of the SQL standard.
</para>
</refsect1>
<refsect1>
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-createview"/></member>
<member><xref linkend="sql-dropview"/></member>
</simplelist>
</refsect1>
</refentry>