ALTER USER MAPPING — change the definition of a user mapping
ALTER USER MAPPING FOR {user_name
| USER | CURRENT_USER | SESSION_USER | PUBLIC } SERVERserver_name
OPTIONS ( [ ADD | SET | DROP ]option
['value
'] [, ... ] )
ALTER USER MAPPING
changes the definition of a
user mapping.
The owner of a foreign server can alter user mappings for that
server for any user. Also, a user can alter a user mapping for
their own user name if USAGE
privilege on the server has
been granted to the user.
user_name
User name of the mapping. CURRENT_USER
and USER
match the name of the current
user. PUBLIC
is used to match all present and future
user names in the system.
server_name
Server name of the user mapping.
OPTIONS ( [ ADD | SET | DROP ] option
['value
'] [, ... ] )
Change options for the user mapping. The new options override
any previously specified
options. ADD
, SET
, and DROP
specify the action to be performed. ADD
is assumed
if no operation is explicitly specified. Option names must be
unique; options are also validated by the server's foreign-data
wrapper.
Change the password for user mapping bob
, server foo
:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
ALTER USER MAPPING
conforms to ISO/IEC 9075-9
(SQL/MED). There is a subtle syntax issue: The standard omits
the FOR
key word. Since both CREATE
USER MAPPING
and DROP USER MAPPING
use
FOR
in analogous positions, and IBM DB2 (being
the other major SQL/MED implementation) also requires it
for ALTER USER MAPPING
, PostgreSQL diverges from
the standard here in the interest of consistency and
interoperability.