EXECUTE AS
Utilice el mandato EXECUTE AS para establecer el usuario actual (CURRENT USER) de la sesión.
Sinopsis
EXECUTE AS <target-user-name>
Entradas
| Entrada | Descripción |
|---|---|
| <target-user-name> | Nombre de un usuario existente. |
Resultados
| Resultado | Descripción |
|---|---|
| EXECUTE AS | Mensaje que el sistema devuelve si el mandato se ejecuta correctamente. |
| ERROR: permission denied. | Debe tener el privilegio EXECUTE AS en el usuario de destino. |
Descripción
Esta sentencia permite a un usuario con el privilegio adecuado establecer el usuario actual (CURRENT USER) de la sesión en un usuario diferente. Cuando esta sentencia se haya completado satisfactoriamente, el usuario actual será el usuario de destino especificado en la sintaxis. Las comprobaciones de seguridad se basan en el perfil de seguridad de CURRENT USER.
La función current_user devuelve el usuario de destino. La función session_user devuelve el usuario de sesión original.
jdoe y ejecutando lo siguiente:BEGIN;
EXECUTE AS dd;
ROLLBACK;
SELECT current_user;
CURRENT_USER
--------------
DD
(1 row)- Privilegios necesarios
- Debe tener el privilegio EXECUTE AS en el usuario de destino.
- Tareas comunes
- Utilice el mandato EXECUTE AS para establecer el usuario actual (CURRENT USER) de la sesión.
Uso
EXECUTE AS BOB;