affected types of objects.
<!--
-$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
-->
</para>
<para>
- 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.
+ You must own the aggregate function to use <command>ALTER AGGREGATE</>.
To change the schema of an aggregate function, 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 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>
</refsect1>
<!--
-$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
-->
<command>ALTER CONVERSION</command> changes the definition of a
conversion.
</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>
<term><replaceable class="parameter">newowner</replaceable></term>
<listitem>
<para>
- The new owner of the conversion. To change the owner of a conversion,
- you must be a superuser.
+ The new owner of the conversion.
</para>
</listitem>
</varlistentry>
<!--
-$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
-->
</para>
<para>
- The fifth form changes the owner of the database. Only a superuser
- can change the database's owner.
+ The fifth form changes the owner of the database.
+ 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>
</refsect1>
<!--
-$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
-->
</variablelist>
<para>
- You must own the domain to use <command>ALTER DOMAIN</>; except for
- <command>ALTER DOMAIN OWNER</>, which may only be executed by a superuser.
- To change a domain's schema, you must also have <literal>CREATE</>
- privilege on the new schema.
+ You must own the domain to use <command>ALTER DOMAIN</>.
+ To change the schema of a domain, 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 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>
</refsect1>
<!--
-$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
-->
</para>
<para>
- You must own the function to use <command>ALTER FUNCTION</>; except for
- <command>ALTER FUNCTION OWNER</>, which may only be executed by a superuser.
+ You must own the function to use <command>ALTER FUNCTION</>.
To change a function's schema, you must also have <literal>CREATE</>
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>
</refsect1>
<!--
-$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
-->
<command>ALTER OPERATOR CLASS</command> changes the definition of
an operator class.
</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>
<listitem>
<para>
The new owner of the operator class.
- You must be a superuser to change the owner of an operator class.
</para>
</listitem>
</varlistentry>
<!--
-$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
-->
an operator. The only currently available functionality is to change the
owner of the operator.
</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>
<listitem>
<para>
The new owner of the operator.
- You must be a superuser to change the owner of an operator.
</para>
</listitem>
</varlistentry>
<!--
-$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
-->
<para>
<command>ALTER SCHEMA</command> changes the definition of a schema.
- To rename a schema you must own the schema and have the privilege
- <literal>CREATE</literal> for the database. To change the owner
- of a schema, you must be a superuser.
+ </para>
+
+ <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>
</refsect1>
<!--
-$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
-->
<command>ALTER TABLESPACE</command> changes the definition of
a tablespace.
</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>
<listitem>
<para>
The new owner of the tablespace.
- You must be a superuser to change the owner of a tablespace.
</para>
</listitem>
</varlistentry>
<!--
-$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
-->
The only currently available capabilities are changing the owner and schema
of a type.
</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>
<listitem>
<para>
The user name of the new owner of the type.
- You must be a superuser to change a type's owner.
</para>
</listitem>
</varlistentry>
<term><replaceable class="PARAMETER">new_schema</replaceable></term>
<listitem>
<para>
- The new schema for the type. To move a
- type to a new schema, you must be the owner of the
- type and have <literal>CREATE</> privilege on the new schema.
+ The new schema for the type.
</para>
</listitem>
</varlistentry>