133 lines
4.1 KiB
Plaintext
133 lines
4.1 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/create_user_mapping.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="sql-createusermapping">
|
|
<indexterm zone="sql-createusermapping">
|
|
<primary>CREATE USER MAPPING</primary>
|
|
</indexterm>
|
|
|
|
<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>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
CREATE USER MAPPING [ IF NOT EXISTS ] FOR { <replaceable class="parameter">user_name</replaceable> | USER | CURRENT_ROLE | 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
|
|
their own user name if <literal>USAGE</literal> privilege on the server has
|
|
been granted to the user.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>IF NOT EXISTS</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Do not throw an error if a mapping of the given user to the given foreign
|
|
server already exists. A notice is issued in this case. Note that there
|
|
is no guarantee that the existing user mapping is anything like the one
|
|
that would have been created.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<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_ROLE</literal>, <literal>CURRENT_USER</literal>, and <literal>USER</literal> match the name of
|
|
the current user. When <literal>PUBLIC</literal> 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</literal>, server <literal>foo</literal>:
|
|
<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>
|