ALTER USER MAPPING — change la définition d'une correspondance d'utilisateurs (user mapping)
ALTER USER MAPPING FOR { nom_utilisateur | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER nom_serveur
OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ] )
ALTER USER MAPPING change la définition d'une
correspondance d'utilisateur (user mapping).
Le propriétaire d'un serveur distant peut aussi altérer les correspondances
d'utilisateurs pour ce serveur pour tout utilisateur. Par ailleurs, un
utilisateur peut modifier une correspondance d'utilisateur pour son propre
nom d'utilisateur s'il a reçu le droit USAGE sur le
serveur distant.
nom_utilisateur
Nom d'utilisateur de la correspondance. CURRENT_ROLE,
CURRENT_USER et USER correspondent
au nom de l'utilisateur courant. PUBLIC est utilisé
pour correspondre à tous les noms d'utilisateurs présents et futurs du
système.
nom_serveurNom du serveur de la correspondance d'utilisateur.
OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ] )
Modifie l'option pour la correspondance d'utilisateur. La nouvelle option
écrase toute option précédemment spécifiée. ADD,
SET et DROP spécifient l'action à
exécuter. Si aucune action n'est spécifiée, l'action est
ADD. Les noms d'options doivent être uniques ; les
options sont aussi validées par le wrapper de données distantes du
serveur.
Modifier le mot de passe pour la correspondance d'utilisateur
bob, et le serveur foo :
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
ALTER USER MAPPING est conforme à la norme ISO/IEC 9075-9
(SQL/MED). Il y a un problème de syntaxe subtil : le standard omet le
mot clé FOR. Puisque CREATE USER
MAPPING et DROP USER MAPPING utilisent tous les
deux FOR à un endroit analogue et que DB2 d'IBM (l'autre
implémentation majeure de SQL/MED) l'impose aussi pour ALTER USER
MAPPING, PostgreSQL diverge du standard pour des raisons de
cohérence et de compatibilité.