ALTER USER MAPPING — cambiar la definición de una asignación de usuario
ALTER USER MAPPING FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER server_name
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
ALTER USER MAPPING cambia la definición de una
asignación de usuario.
El propietario de un servidor foráneo puede modificar las asignaciones de usuario para ese
servidor para cualquier usuario. Además, un usuario puede modificar una asignación de usuario para
su propio nombre de usuario si se le ha otorgado el privilegio USAGE en el servidor.
user_name
El nombre de usuario de la asignación. CURRENT_ROLE, CURRENT_USER,
y USER coinciden con el nombre del usuario
actual. PUBLIC se usa para coincidir con todos los nombres de
usuario presentes y futuros en el sistema.
server_nameEl nombre del servidor de la asignación de usuario.
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
Cambiar las opciones para la asignación de usuario. Las nuevas opciones anulan
cualquier opción especificada previamente. ADD, SET, y DROP
especifican la acción a realizar. Se asume ADD
si no se especifica explícitamente ninguna operación. Los nombres de las opciones deben ser
únicos; las opciones también son validadas por el envolvedor de datos externos
(foreign-data wrapper) del servidor.
Cambiar la contraseña para la asignación de usuario bob, servidor foo:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
ALTER USER MAPPING cumple con ISO/IEC 9075-9
(SQL/MED). Hay un problema de sintaxis sutil: el estándar omite
la palabra clave FOR. Dado que tanto CREATE
USER MAPPING como DROP USER MAPPING usan
FOR en posiciones análogas, y IBM DB2 (siendo
la otra gran implementación de SQL/MED) también lo requiere
para ALTER USER MAPPING, PostgreSQL diverge del
estándar aquí en aras de la consistencia y la
interoperabilidad.