<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_owned.sgml,v 1.6 2008/11/14 10:22:46 petere Exp $
PostgreSQL documentation
-->

<refentry id="SQL-DROP-OWNED">
 <refmeta>
  <refentrytitle id="SQL-DROP-OWNED-TITLE">DROP OWNED</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP OWNED</refname>
  <refpurpose>remove database objects owned by a database role</refpurpose>
 </refnamediv>

 <indexterm zone="sql-drop-owned">
  <primary>DROP OWNED</primary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
DROP OWNED BY <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <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>

 <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>
   <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 might make the command
   recurse to objects owned by other users.
  </para>

  <para>
   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>

 <refsect1>
  <title>Compatibility</title>

  <para>
   The <command>DROP OWNED</command> statement is a
   <productname>PostgreSQL</productname> extension.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-reassign-owned" endterm="sql-reassign-owned-title"></member>
   <member><xref linkend="sql-droprole" endterm="sql-droprole-title"></member>
  </simplelist>
 </refsect1>

</refentry>
