ALTER USER MAPPING — change la définition d'une correspondance d'utilisateurs (user mapping)
ALTER USER MAPPING FOR { nom_utilisateur | USER | CURRENT_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 d'utilisateur de la correspondance. 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 du serveur de la correspondance d'utilisateur.
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 (user 'bob', 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é.