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

<refentry id="SQL-CREATEUSERMAPPING">
 <refmeta>
  <refentrytitle id="sql-createusermapping-title">CREATE USER MAPPING</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>CREATE USER MAPPING</refname>
  <refpurpose>define a new mapping of a user to a foreign server</refpurpose>
 </refnamediv>

 <indexterm zone="sql-createusermapping">
  <primary>CREATE USER MAPPING</primary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
CREATE USER MAPPING FOR { <replaceable class="parameter">user_name</replaceable> | USER | CURRENT_USER | PUBLIC }
    SERVER <replaceable class="parameter">server_name</replaceable>
    [ OPTIONS ( <replaceable class="PARAMETER">option</replaceable> '<replaceable class="PARAMETER">value</replaceable>' [ , ... ] ) ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>CREATE USER MAPPING</command> defines a mapping of a user
   to a foreign server.  A user mapping typically encapsulates
   connection information that a foreign-data wrapper uses together
   with the information encapsulated be a foreign server to access an
   external data resource.
  </para>

  <para>
   The owner of a foreign server can create user mappings for that
   server for any user.  Also, a user can create 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><replaceable class="parameter">user_name</replaceable></term>
    <listitem>
     <para>
      The name of an existing user that is mapped to foreign server.
      <literal>CURRENT_USER</> and <literal>USER</> match the name of
      the current user.  When <literal>PUBLIC</> is specified, a
      so-called public mapping is created that is used when no
      user-specific mapping is applicable.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">server_name</replaceable></term>
    <listitem>
     <para>
      The name of an existing server for which the user mapping is
      to be created.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>OPTIONS ( <replaceable class="PARAMETER">option</replaceable> '<replaceable class="PARAMETER">value</replaceable>' [, ... ] )</literal></term>
    <listitem>
     <para>
      This clause specifies the options of the user mapping.  The
      options typically define the actual user name and password of
      the mapping.  Option names must be unique.  The allowed option
      names and values are specific to the server's foreign-data wrapper.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   Create a user mapping for user <literal>bob</>, server <literal>foo</>:
<programlisting>
CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'secret');
</programlisting>
  </para>

 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   <command>CREATE USER MAPPING</command> conforms to ISO/IEC 9075-9 (SQL/MED).
  </para>
 </refsect1>

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

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

</refentry>
