Update documentation to reflect the new ALTER OWNER rules for all

affected types of objects.
This commit is contained in:
Tom Lane 2005-10-13 22:44:51 +00:00
parent a9980ec37b
commit f91370cd2f
10 changed files with 95 additions and 33 deletions

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_aggregate.sgml,v 1.6 2005/08/01 16:11:14 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_aggregate.sgml,v 1.7 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -35,11 +35,15 @@ ALTER AGGREGATE <replaceable>name</replaceable> ( <replaceable>type</replaceable
</para> </para>
<para> <para>
You must own the aggregate function to use <command>ALTER AGGREGATE</>; You must own the aggregate function to use <command>ALTER AGGREGATE</>.
except for <command>ALTER AGGREGATE OWNER</>, which may only be executed by
a superuser.
To change the schema of an aggregate function, you must also have To change the schema of an aggregate function, you must also have
<literal>CREATE</literal> privilege on the new schema. <literal>CREATE</literal> privilege on the new schema.
To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the aggregate function's schema. (These restrictions enforce that altering
the owner doesn't do anything you couldn't do by dropping and recreating
the aggregate function. However, a superuser can alter ownership of any
aggregate function anyway.)
</para> </para>
</refsect1> </refsect1>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_conversion.sgml,v 1.6 2005/03/07 04:30:51 momjian Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_conversion.sgml,v 1.7 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -32,6 +32,16 @@ ALTER CONVERSION <replaceable>name</replaceable> OWNER TO <replaceable>newowner<
<command>ALTER CONVERSION</command> changes the definition of a <command>ALTER CONVERSION</command> changes the definition of a
conversion. conversion.
</para> </para>
<para>
You must own the conversion to use <command>ALTER CONVERSION</>.
To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the conversion's schema. (These restrictions enforce that altering the
owner doesn't do anything you couldn't do by dropping and recreating the
conversion. However, a superuser can alter ownership of any conversion
anyway.)
</para>
</refsect1> </refsect1>
<refsect1> <refsect1>
@ -60,8 +70,7 @@ ALTER CONVERSION <replaceable>name</replaceable> OWNER TO <replaceable>newowner<
<term><replaceable class="parameter">newowner</replaceable></term> <term><replaceable class="parameter">newowner</replaceable></term>
<listitem> <listitem>
<para> <para>
The new owner of the conversion. To change the owner of a conversion, The new owner of the conversion.
you must be a superuser.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.16 2005/07/31 17:19:16 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.17 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -71,8 +71,11 @@ ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> OWNER TO <repla
</para> </para>
<para> <para>
The fifth form changes the owner of the database. Only a superuser The fifth form changes the owner of the database.
can change the database's owner. To alter the owner, you must own the database and also be a direct or
indirect member of the new owning role, and you must have the
<literal>CREATEDB</literal> privilege.
(Note that superusers have all these privileges automatically.)
</para> </para>
</refsect1> </refsect1>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.17 2005/08/01 16:11:14 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.18 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -112,10 +112,14 @@ ALTER DOMAIN <replaceable class="PARAMETER">name</replaceable>
</variablelist> </variablelist>
<para> <para>
You must own the domain to use <command>ALTER DOMAIN</>; except for You must own the domain to use <command>ALTER DOMAIN</>.
<command>ALTER DOMAIN OWNER</>, which may only be executed by a superuser. To change the schema of a domain, you must also have
To change a domain's schema, you must also have <literal>CREATE</> <literal>CREATE</literal> privilege on the new schema.
privilege on the new schema. To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the domain's schema. (These restrictions enforce that altering the owner
doesn't do anything you couldn't do by dropping and recreating the domain.
However, a superuser can alter ownership of any domain anyway.)
</para> </para>
</refsect1> </refsect1>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_function.sgml,v 1.8 2005/08/01 16:11:14 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_function.sgml,v 1.9 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -46,10 +46,14 @@ where <replaceable class="PARAMETER">action</replaceable> is one of:
</para> </para>
<para> <para>
You must own the function to use <command>ALTER FUNCTION</>; except for You must own the function to use <command>ALTER FUNCTION</>.
<command>ALTER FUNCTION OWNER</>, which may only be executed by a superuser.
To change a function's schema, you must also have <literal>CREATE</> To change a function's schema, you must also have <literal>CREATE</>
privilege on the new schema. privilege on the new schema.
To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the function's schema. (These restrictions enforce that altering the owner
doesn't do anything you couldn't do by dropping and recreating the function.
However, a superuser can alter ownership of any function anyway.)
</para> </para>
</refsect1> </refsect1>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_opclass.sgml,v 1.5 2004/06/25 21:55:50 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_opclass.sgml,v 1.6 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -32,6 +32,16 @@ ALTER OPERATOR CLASS <replaceable>name</replaceable> USING <replaceable class="p
<command>ALTER OPERATOR CLASS</command> changes the definition of <command>ALTER OPERATOR CLASS</command> changes the definition of
an operator class. an operator class.
</para> </para>
<para>
You must own the operator class to use <command>ALTER OPERATOR CLASS</>.
To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the operator class's schema. (These restrictions enforce that altering the
owner doesn't do anything you couldn't do by dropping and recreating the
operator class. However, a superuser can alter ownership of any operator
class anyway.)
</para>
</refsect1> </refsect1>
<refsect1> <refsect1>
@ -71,7 +81,6 @@ ALTER OPERATOR CLASS <replaceable>name</replaceable> USING <replaceable class="p
<listitem> <listitem>
<para> <para>
The new owner of the operator class. The new owner of the operator class.
You must be a superuser to change the owner of an operator class.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_operator.sgml,v 1.1 2004/06/25 21:55:50 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_operator.sgml,v 1.2 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -32,6 +32,15 @@ ALTER OPERATOR <replaceable>name</replaceable> ( { <replaceable>lefttype</replac
an operator. The only currently available functionality is to change the an operator. The only currently available functionality is to change the
owner of the operator. owner of the operator.
</para> </para>
<para>
You must own the operator to use <command>ALTER OPERATOR</>.
To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the operator's schema. (These restrictions enforce that altering the owner
doesn't do anything you couldn't do by dropping and recreating the operator.
However, a superuser can alter ownership of any operator anyway.)
</para>
</refsect1> </refsect1>
<refsect1> <refsect1>
@ -72,7 +81,6 @@ ALTER OPERATOR <replaceable>name</replaceable> ( { <replaceable>lefttype</replac
<listitem> <listitem>
<para> <para>
The new owner of the operator. The new owner of the operator.
You must be a superuser to change the owner of an operator.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_schema.sgml,v 1.7 2004/06/25 21:55:50 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_schema.sgml,v 1.8 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -30,9 +30,16 @@ ALTER SCHEMA <replaceable>name</replaceable> OWNER TO <replaceable>newowner</rep
<para> <para>
<command>ALTER SCHEMA</command> changes the definition of a schema. <command>ALTER SCHEMA</command> changes the definition of a schema.
To rename a schema you must own the schema and have the privilege </para>
<literal>CREATE</literal> for the database. To change the owner
of a schema, you must be a superuser. <para>
You must own the schema to use <command>ALTER SCHEMA</>.
To rename a schema you must also have the
<literal>CREATE</literal> privilege for the database.
To alter the owner, you must also be a direct or
indirect member of the new owning role, and you must have the
<literal>CREATE</literal> privilege for the database.
(Note that superusers have all these privileges automatically.)
</para> </para>
</refsect1> </refsect1>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_tablespace.sgml,v 1.1 2004/06/25 21:55:50 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_tablespace.sgml,v 1.2 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -32,6 +32,13 @@ ALTER TABLESPACE <replaceable>name</replaceable> OWNER TO <replaceable>newowner<
<command>ALTER TABLESPACE</command> changes the definition of <command>ALTER TABLESPACE</command> changes the definition of
a tablespace. a tablespace.
</para> </para>
<para>
You must own the tablespace to use <command>ALTER TABLESPACE</>.
To alter the owner, you must also be a direct or indirect member of the new
owning role.
(Note that superusers have these privileges automatically.)
</para>
</refsect1> </refsect1>
<refsect1> <refsect1>
@ -63,7 +70,6 @@ ALTER TABLESPACE <replaceable>name</replaceable> OWNER TO <replaceable>newowner<
<listitem> <listitem>
<para> <para>
The new owner of the tablespace. The new owner of the tablespace.
You must be a superuser to change the owner of a tablespace.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_type.sgml,v 1.2 2005/08/01 16:11:14 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_type.sgml,v 1.3 2005/10/13 22:44:51 tgl Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -37,6 +37,17 @@ ALTER TYPE <replaceable class="PARAMETER">name</replaceable> SET SCHEMA <replace
The only currently available capabilities are changing the owner and schema The only currently available capabilities are changing the owner and schema
of a type. of a type.
</para> </para>
<para>
You must own the type to use <command>ALTER TYPE</>.
To change the schema of a type, you must also have
<literal>CREATE</literal> privilege on the new schema.
To alter the owner, you must also be a direct or indirect member of the new
owning role, and that role must have <literal>CREATE</literal> privilege on
the type's schema. (These restrictions enforce that altering the owner
doesn't do anything you couldn't do by dropping and recreating the type.
However, a superuser can alter ownership of any type anyway.)
</para>
</refsect1> </refsect1>
<refsect1> <refsect1>
@ -59,7 +70,6 @@ ALTER TYPE <replaceable class="PARAMETER">name</replaceable> SET SCHEMA <replace
<listitem> <listitem>
<para> <para>
The user name of the new owner of the type. The user name of the new owner of the type.
You must be a superuser to change a type's owner.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -68,9 +78,7 @@ ALTER TYPE <replaceable class="PARAMETER">name</replaceable> SET SCHEMA <replace
<term><replaceable class="PARAMETER">new_schema</replaceable></term> <term><replaceable class="PARAMETER">new_schema</replaceable></term>
<listitem> <listitem>
<para> <para>
The new schema for the type. To move a The new schema for the type.
type to a new schema, you must be the owner of the
type and have <literal>CREATE</> privilege on the new schema.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>