Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CHANGE_SESSION_PRIORITY
CHANGE_SESSION_PRIORITY permette agli utenti con privilegi avanzati di modificare immediatamente la priorità di qualunque sessione nel sistema. Solo una sessione, un utente o una query possono essere eseguiti con la priorità CRITICAL.
Sintassi
CHANGE_SESSION_PRIORITY(pid, priority)
Arguments (Argomenti)
- pid
-
L'identificatore processo della sessione di cui è cambiata la priorità. Il valore
-1si riferisce alla sessione attuale. Richiede un valoreINTEGER. - priority
-
La nuova priorità da assegnare alla sessione. Questo argomento deve essere una stringa con il valore
CRITICAL,HIGHEST,HIGH,NORMAL,LOWoLOWEST.
Tipo restituito
Nessuno
Esempi
Per restituire l'identificatore del processo del server che gestisce la sessione corrente, utilizza l'esempio seguente.
SELECT pg_backend_pid();+----------------+ | pg_backend_pid | +----------------+ | 30311 | +----------------+
In questo esempio, la priorità viene modificata in LOWEST per la sessione attuale.
SELECT CHANGE_SESSION_PRIORITY(30311, 'Lowest');+---------------------------------------------------------------------------------------+ | change_session_priority | +---------------------------------------------------------------------------------------+ | Succeeded to change session priority. Changed session (pid:30311) priority to lowest. | +---------------------------------------------------------------------------------------+
In questo esempio, la priorità viene modificata in HIGH per la sessione attuale.
SELECT CHANGE_SESSION_PRIORITY(-1, 'High');+-------------------------------------------------------------------------------------------------+ | change_session_priority | +-------------------------------------------------------------------------------------------------+ | Succeeded to change session priority. Changed session (pid:30311) priority from lowest to high. | +-------------------------------------------------------------------------------------------------+
Per creare una stored procedure per modificare la priorità di una sessione, utilizza l'esempio seguente. L'autorizzaione per eseguire questa procedura archiviata viene concessa all'utente di database test_user.
CREATE OR REPLACE PROCEDURE sp_priority_low(pid IN int, result OUT varchar) AS $$ BEGIN SELECT CHANGE_SESSION_PRIORITY(pid, 'low') into result; END; $$ LANGUAGE plpgsql SECURITY DEFINER; GRANT EXECUTE ON PROCEDURE sp_priority_low(int) TO test_user;
Quindi, l'utente di database denominato test_user richiama la procedura.
CALL sp_priority_low(pg_backend_pid());+------------------------------------------------------+ | result | +------------------------------------------------------+ | Success. Change session (pid:13155) priority to low. | +------------------------------------------------------+