postgresql/doc/src/sgml/ref/alter_schema.sgml

101 lines
2.4 KiB
Plaintext

<!--
doc/src/sgml/ref/alter_schema.sgml
PostgreSQL documentation
-->
<refentry id="sql-alterschema">
<indexterm zone="sql-alterschema">
<primary>ALTER SCHEMA</primary>
</indexterm>
<refmeta>
<refentrytitle>ALTER SCHEMA</refentrytitle>
<manvolnum>7</manvolnum>
<refmiscinfo>SQL - Language Statements</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ALTER SCHEMA</refname>
<refpurpose>change the definition of a schema</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>
ALTER SCHEMA <replaceable>name</replaceable> RENAME TO <replaceable>new_name</replaceable>
ALTER SCHEMA <replaceable>name</replaceable> OWNER TO { <replaceable>new_owner</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
<command>ALTER SCHEMA</command> changes the definition of a schema.
</para>
<para>
You must own the schema to use <command>ALTER SCHEMA</command>.
To rename a schema you must also have the
<literal>CREATE</literal> privilege for the database.
To alter the owner, you must be able to <literal>SET ROLE</literal> to the
new owning role, and that role must have the
<literal>CREATE</literal> privilege for the database.
(Note that superusers have all these privileges automatically.)
</para>
</refsect1>
<refsect1>
<title>Parameters</title>
<variablelist>
<varlistentry>
<term><replaceable>name</replaceable></term>
<listitem>
<para>
The name of an existing schema.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>new_name</replaceable></term>
<listitem>
<para>
The new name of the schema. The new name cannot
begin with <literal>pg_</literal>, as such names
are reserved for system schemas.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
The new owner of the schema.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Compatibility</title>
<para>
There is no <command>ALTER SCHEMA</command> statement in the SQL
standard.
</para>
</refsect1>
<refsect1>
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-createschema"/></member>
<member><xref linkend="sql-dropschema"/></member>
</simplelist>
</refsect1>
</refentry>