Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
PG_GET_SESSION_ROLES
Restituisce i ruoli di sessione dell'utente attualmente connesso. I ruoli di sessione di un utente sono i gruppi definiti da un gestore dell'identità digitale per l'utente che ha effettuato l'accesso. Ad esempio, un gestore dell'identità digitale comeMicrosoft Azure Active Directory (Azure AD)
Per visualizzare i ruoli definiti nel catalogo di Amazon Redshift, esegui query sulla vista di sistema SVV_ROLES.
Sintassi
pg_get_session_roles()
Tipo restituito
Un set di righe composto da due valori. Il primo valore è composto da due parti separate da due punti (:) che contiene un idp-namespace:role-name. idp-namespace è lo spazio dei nomi del gestore dell'identità digitale. role-name è il nome del gruppo esterno nel gestore dell'identità digitale. Il secondo valore contiene un role-id che è l'identificatore del ruolo.
Note per l'utilizzo
La funzione PG_GET_SESSION_ROLES restituisce una riga per ogni ruolo di sessione restituito.
Esempi
L'esempio seguente restituisce una riga per ogni ruolo dall'IdP di Azure Active Directory. Le colonne restituite vengono convertite in sess_roles con colonne name e roleid. Ciascun name è costituito dallo spazio dei nomi di Azure Active Directory e da un nome di gruppo 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
L'esempio seguente restituisce una riga per ogni gruppo IAM di cui l'utente IAM attualmente connesso è membro. Le colonne restituite vengono convertite in sess_roles con colonne name e roleid. Ciascun name è costituito dallo spazio dei nomi IAM e dal nome del gruppo IAM.
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);name roleid -------------------------------- IAM:myGroup 110332