for REASSIGN OWNED and DROP OWNED.
<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/drop_owned.sgml,v 1.1 2005/11/21 12:49:30 alvherre Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/drop_owned.sgml,v 1.2 2006/04/02 04:02:40 neilc Exp $
PostgreSQL documentation
-->
<refsynopsisdiv>
<synopsis>
-DROP OWNED <replaceable class="PARAMETER">name</replaceable> [, ...] [ RESTRICT | CASCADE ]
+DROP OWNED BY <replaceable class="PARAMETER">name</replaceable> [, ...] [ RESTRICT | CASCADE ]
</synopsis>
</refsynopsisdiv>
<title>Description</title>
<para>
- The <command>DROP OWNED</command> instructs the system to drop those
- database objects owned by one of the given roles which reside on the
- current database. All privileges granted to the given roles will also be
- revoked.
+ <command>DROP OWNED</command> drops all the objects in the current
+ database that are owned by one of the specified roles. Any
+ privileges granted to the given roles on objects in the current
+ database will also be revoked.
</para>
+ </refsect1>
- <para>
- If <literal>CASCADE</> is specified, <command>DROP OWNED</command>
- will behave like a <command>DROP ... CASCADE</command> was issued
- for each object, that is, objects dependent on the ones owned by the
- given users will be dropped as well.
- </para>
+ <refsect1>
+ <title>Parameters</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><replaceable class="PARAMETER">name</replaceable></term>
+ <listitem>
+ <para>
+ The name of a role whose objects will be dropped, and whose
+ privileges will be revoked.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>CASCADE</literal></term>
+ <listitem>
+ <para>
+ Automatically drop objects that depend on the affected objects.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>RESTRICT</literal></term>
+ <listitem>
+ <para>
+ Refuse to drop the objects owned by a role if any other database
+ objects depend on one of the affected objects. This is the default.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
- The <command>DROP OWNED</command> command is mostly used in preparation to
- drop the roles. It may be necessary to issue the command in more than one
- database.
+ <command>DROP OWNED</command> is often used to prepare for the
+ removal of one or more roles. Because <command>DROP OWNED</command>
+ only affects the objects in the current database, it is usually
+ necessary to execute this command in each database that contains
+ objects owned by a role that is to be removed.
</para>
<para>
- Using the <literal>CASCADE</literal> option may make the command recurse to
- objects owned by other users.
+ Using the <literal>CASCADE</literal> option may make the command
+ recurse to objects owned by other users.
</para>
<para>
- See the <command>REASSIGN OWNED</command> command for an alternative that
- gives the objects away to another role.
+ The <xref linkend="sql-reassign-owned"
+ endterm="sql-reassign-owned-title"> command is an alternative that
+ reassigns the ownership of all the database objects owned by one or
+ more roles.
</para>
</refsect1>
<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/drop_role.sgml,v 1.3 2006/02/04 22:38:39 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/drop_role.sgml,v 1.4 2006/04/02 04:02:40 neilc Exp $
PostgreSQL documentation
-->
A role cannot be removed if it is still referenced in any database
of the cluster; an error will be raised if so. Before dropping the role,
you must drop all the objects it owns (or reassign their ownership)
- and revoke any privileges the role has been granted.
+ and revoke any privileges the role has been granted. The <xref
+ linkend="sql-reassign-owned" endterm="sql-reassign-owned-title">
+ and <xref linkend="sql-drop-owned" endterm="sql-drop-owned-title">
+ commands can be useful for this purpose.
</para>
<para>
<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/reassign_owned.sgml,v 1.1 2005/11/21 12:49:30 alvherre Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/reassign_owned.sgml,v 1.2 2006/04/02 04:02:40 neilc Exp $
PostgreSQL documentation
-->
<refnamediv>
<refname>REASSIGN OWNED</refname>
- <refpurpose>change ownership of database objects owned by a database role</refpurpose>
+ <refpurpose>change the ownership of database objects owned by a database role</refpurpose>
</refnamediv>
<indexterm zone="sql-reassign-owned">
<refsynopsisdiv>
<synopsis>
-REASSIGN OWNED <replaceable class="PARAMETER">old_role</replaceable> [, ...] TO <replaceable class="PARAMETER">new_role</replaceable>
+REASSIGN OWNED BY <replaceable class="PARAMETER">old_role</replaceable> [, ...] TO <replaceable class="PARAMETER">new_role</replaceable>
</synopsis>
</refsynopsisdiv>
<title>Description</title>
<para>
- The <command>REASSIGN OWNED</command> instructs the system to change
- the ownership of the database objects owned by one of the old_roles,
- to new_role.
+ <command>REASSIGN OWNED</command> instructs the system to change
+ the ownership of the database objects owned by one of the
+ old_roles, to new_role.
</para>
</refsect1>
+ <refsect1>
+ <title>Parameters</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><replaceable class="PARAMETER">old_role</replaceable></term>
+ <listitem>
+ <para>
+ The name of a role. The ownership of all the objects in the
+ current database owned by this role will be reassigned to
+ <replaceable class="PARAMETER">new_role</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><replaceable class="PARAMETER">new_role</replaceable></term>
+ <listitem>
+ <para>
+ The name of the role that will be made the new owner of the
+ affected objects.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
<refsect1>
<title>Notes</title>
<para>
- The <command>REASSIGN OWNED</command> command is mostly used in preparation to
- drop the roles. See the <command>DROP OWNED</command> command for an
- alternative that drops the objects.
+ <command>REASSIGN OWNED</command> is often used to prepare for the
+ removal of one or more roles. Because <command>REASSIGN
+ OWNED</command> only affects the objects in the current database,
+ it is usually necessary to execute this command in each database
+ that contains objects owned by a role that is to be removed.
+ </para>
+
+ <para>
+ The <xref linkend="sql-drop-owned"
+ endterm="sql-drop-owned-title"> command is an alternative that
+ drops all the database objects owned by one or more roles.
</para>
<para>
- The <command>REASSIGN OWNED</command> command does not affect the privileges
- granted to the old_roles in objects not owned by them. Use
- <command>DROP OWNED</command> to remove them.
+ The <command>REASSIGN OWNED</command> command does not affect the
+ privileges granted to the old_roles in objects that are not owned
+ by them. Use <command>DROP OWNED</command> to revoke those
+ privileges.
</para>
</refsect1>