EXECUTE AS
Verwenden Sie den EXECUTE AS-Befehl, um den aktuellen Benutzer (CURRENT USER) der Sitzung festzulegen.
Übersicht
EXECUTE AS <target-user-name>
Eingaben
| Eingabe | Beschreibung |
|---|---|
| <Zielbenutzername> | Der Name eines vorhandenen Benutzers. |
Ausgaben
| Ausgabe | Beschreibung |
|---|---|
| EXECUTE AS | Die Nachricht, die das System zurückgibt, wenn der Befehl erfolgreich ist. |
| ERROR: permission denied. | Sie müssen über die EXECUTE AS-Berechtigung für den Zielbenutzer verfügen. |
Beschreibung
Diese Anweisung ermöglicht es einem entsprechend privilegierten Benutzer, den CURRENT USER der Sitzung auf einen anderen Benutzer zu setzen. Nach dem erfolgreichen Abschluss dieser Anweisung ist CURRENT USER der in der Syntax angegebene Zielbenutzer. Sicherheitsprüfungen basieren auf dem Sicherheitsprofil von CURRENT USER.
Die current_user-Funktion gibt den Zielbenutzer zurück. Die session_user-Funktion gibt den ursprünglichen Sitzungsbenutzer zurück.
jdoe die folgenden Schritte aus:BEGIN;
EXECUTE AS dd;
ROLLBACK;
SELECT current_user;
CURRENT_USER
--------------
DD
(1 row)- Zugriffsrechte erforderlich
- Sie müssen über die EXECUTE AS-Berechtigung für den Zielbenutzer verfügen.
- Allgemeine Aufgaben
- Verwenden Sie den EXECUTE AS-Befehl, um den aktuellen Benutzer (CURRENT USER) der Sitzung festzulegen.
Verwendung
EXECUTE AS BOB;