Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
PG_GET_SESSION_ROLES
Gibt die Sitzungsrollen des aktuell angemeldeten Benutzers zurück. Sitzungsrollen eines Benutzers sind die Gruppen, die von einem Identitätsanbieter (IdP) für den angemeldeten Benutzer definiert wurden. Zum Beispiel überprüft ein Identitätsanbieter (IdP) wie Microsoft Azure Active Directory (Azure AD)
Wenn Sie die im Amazon-Redshift-Katalog definierten Rollen anzeigen möchten, fragen Sie die Systemansicht SVV_ROLES ab.
Syntax
pg_get_session_roles()
Rückgabetyp
Ein Zeilensatz, der aus zwei Werten besteht. Der erste Wert besteht aus zwei Teilen, die durch einen Doppelpunkt (:) getrennt sind, der einen idp-namespace:role-name enthält. Der idp-namespace ist der Namespace des Identitätsanbieters (IdP). Der role-name ist der Name der externen Gruppe im Identitätsanbieter (IdP). Der zweite Wert enthält eine role-id. Dies ist die Rollenkennung.
Nutzungshinweise
Die PG_GET_SESSION_ROLES-Funktion gibt für jede zurückgegebene Sitzungsrolle eine Zeile zurück.
Beispiele
Im folgenden Beispiel wird eine Zeile für jede Rolle aus dem Azure-Active-Directory-IdP zurückgegeben. Die zurückgegebenen Spalten werden in sess_roles mit den Spalten name und roleid umgewandelt. Jeder name besteht aus dem Azure-Active-Directory-Namespace und einem Gruppennamen in Azure Active Directory.
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);name roleid -------------------------------- my_aad:test_group_1 106204 my_aad:test_group_2 106205 my_aad:test_group_3 106206 my_aad:test_group_4 106207 my_aad:test_group_5 106208
Im folgenden Beispiel wird eine Zeile für jede IAM-Gruppe zurückgegeben, der der aktuell angemeldete IAM-Benutzer angehört. Die zurückgegebenen Spalten werden in sess_roles mit den Spalten name und roleid umgewandelt. Jeder name besteht aus dem IAM-Namespace und dem IAM-Gruppennamen.
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);name roleid -------------------------------- IAM:myGroup 110332