<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_user_mapping.sgml,v 1.4 2009/09/19 10:23:27 petere Exp $
PostgreSQL documentation
-->

<refentry id="SQL-DROPUSERMAPPING">
 <refmeta>
  <refentrytitle id="sql-dropusermapping-title">DROP USER MAPPING</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP USER MAPPING</refname>
  <refpurpose>remove a user mapping for a foreign server</refpurpose>
 </refnamediv>

 <indexterm zone="sql-dropusermapping">
  <primary>DROP USER MAPPING</primary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
DROP USER MAPPING [ IF EXISTS ] FOR { <replaceable class="parameter">user_name</replaceable> | USER | CURRENT_USER | PUBLIC } SERVER <replaceable class="parameter">server_name</replaceable>
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP USER MAPPING</command> removes an existing user
   mapping from foreign server.
  </para>

  <para>
   The owner of a foreign server can drop user mappings for that server
   for any user.  Also, a user can drop a user mapping for his own
   user name if <literal>USAGE</> privilege on the server has been
   granted to the user.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the user mapping does not exist.  A
      notice is issued in this case.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">user_name</replaceable></term>
    <listitem>
     <para>
      User name of the mapping.  <literal>CURRENT_USER</>
      and <literal>USER</> match the name of the current
      user.  <literal>PUBLIC</> is used to match all present and
      future user names in the system.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">server_name</replaceable></term>
    <listitem>
     <para>
      Server name of the user mapping.
     </para>
    </listitem>
   </varlistentry>
    </variablelist>
 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   Drop a user mapping <literal>bob</>, server <literal>foo</> if it exists:
<programlisting>
DROP USER MAPPING IF EXISTS FOR bob SERVER foo;
</programlisting>
  </para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   <command>DROP USER MAPPING</command> conforms to ISO/IEC 9075-9
   (SQL/MED).  The <literal>IF EXISTS</> clause is
   a <productname>PostgreSQL</> extension.
  </para>
 </refsect1>

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

  <simplelist type="inline">
   <member><xref linkend="sql-createusermapping" endterm="sql-createusermapping-title"></member>
   <member><xref linkend="sql-alterusermapping" endterm="sql-alterusermapping-title"></member>
  </simplelist>
 </refsect1>

</refentry>
