

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# CHANGE\$1SESSION\$1PRIORITY
<a name="r_CHANGE_SESSION_PRIORITY"></a>

CHANGE\$1SESSION\$1PRIORITY permite que superusuários alterem imediatamente a prioridade de qualquer sessão no sistema. Somente uma consulta, uma sessão ou um usuário pode ser executado com a prioridade `CRITICAL`.

## Sintaxe
<a name="r_CHANGE_SESSION_PRIORITY-synopsis"></a>

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

## Argumentos
<a name="r_CHANGE_SESSION_PRIORITY-argument"></a>

 *pid*   
O identificador de processo da sessão cuja prioridade é alterada. O valor `-1` se refere à sessão atual. Requer um valor `INTEGER`.

 *priority*   
A nova prioridade que será atribuída à sessão. Esse argumento deve ser uma string com o valor `CRITICAL`, `HIGHEST`, `HIGH`, `NORMAL`, `LOW` ou `LOWEST`. 

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

Nenhum

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

Para retornar o identificador do processo do servidor que lida com a sessão atual, use o exemplo a seguir.

```
SELECT pg_backend_pid();
               
+----------------+
| pg_backend_pid |
+----------------+
|          30311 |
+----------------+
```

Neste exemplo, a prioridade da sessão atual é alterada para `LOWEST`.

```
SELECT CHANGE_SESSION_PRIORITY(30311, 'Lowest');
               
+---------------------------------------------------------------------------------------+
|                                change_session_priority                                |
+---------------------------------------------------------------------------------------+
| Succeeded to change session priority. Changed session (pid:30311) priority to lowest. |
+---------------------------------------------------------------------------------------+
```

Neste exemplo, a prioridade da sessão atual é alterada para `HIGH`.

```
SELECT CHANGE_SESSION_PRIORITY(-1, 'High');

+-------------------------------------------------------------------------------------------------+
|                                     change_session_priority                                     |
+-------------------------------------------------------------------------------------------------+
| Succeeded to change session priority. Changed session (pid:30311) priority from lowest to high. |
+-------------------------------------------------------------------------------------------------+
```

Para criar um procedimento armazenado que altera a prioridade de uma sessão, use o exemplo a seguir. A permissão para executar esse procedimento armazenado é concedida ao usuário do banco de dados `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;
```

Depois, o usuário do banco de dados denominado `test_user` chama o procedimento.

```
CALL sp_priority_low(pg_backend_pid()); 

+------------------------------------------------------+
|                        result                        |
+------------------------------------------------------+
| Success. Change session (pid:13155) priority to low. |
+------------------------------------------------------+
```