<!-- doc/src/sgml/ref/create_user_mapping.sgml PostgreSQL documentation --> <refentry id="SQL-CREATEUSERMAPPING"> <refmeta> <refentrytitle>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 by 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"></member> <member><xref linkend="sql-dropusermapping"></member> <member><xref linkend="sql-createforeigndatawrapper"></member> <member><xref linkend="sql-createserver"></member> </simplelist> </refsect1> </refentry>