

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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\$1SESSION\$1PRIORITY
<a name="r_CHANGE_SESSION_PRIORITY"></a>

CHANGE\$1SESSION\$1PRIORITY 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
<a name="r_CHANGE_SESSION_PRIORITY-synopsis"></a>

```
CHANGE_SESSION_PRIORITY(pid, priority)
```

## Arguments (Argomenti)
<a name="r_CHANGE_SESSION_PRIORITY-argument"></a>

 *pid*   
L'identificatore processo della sessione di cui è cambiata la priorità. Il valore `-1` si riferisce alla sessione attuale. Richiede un valore `INTEGER`.

 *priority*   
La nuova priorità da assegnare alla sessione. Questo argomento deve essere una stringa con il valore `CRITICAL`, `HIGHEST`, `HIGH`, `NORMAL`, `LOW` o `LOWEST`. 

## Tipo restituito
<a name="r_CHANGE_SESSION_PRIORITY-return-type"></a>

Nessuno

## Esempi
<a name="r_CHANGE_SESSION_PRIORITY-example"></a>

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. |
+------------------------------------------------------+
```