mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
Update the reference pages for various ALTER commands that mentioned that you must be a member of role that will be the new owner to instead say that you must be able to SET ROLE to the new owner. Update ddl.sgml's generate statement on this topic along similar lines. Likewise, update CREATE SCHEMA and CREATE DATABASE, which have options to specify who will own the new objects, to say that you must be able to SET ROLE to the role that will own them. Finally, update the documentation for the GRANT statement itself with some general principles about how the SET option works and how it can be used. Patch by me, reviewed (but not fully endorsed) by Noah Misch. Discussion: http://postgr.es/m/CA+TgmoZk6VB3DQ83+DO5P_HP=M9PQAh1yj-KgeV30uKefVaWDg@mail.gmail.com
101 lines
2.4 KiB
Plaintext
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>
|