

 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/). 

# Atribuir consultas a filas
<a name="cm-c-executing-queries"></a>

Com o Amazon Redshift, é possível gerenciar a simultaneidade de workloads e priorizar as consultas atribuindo-as a filas. As filas permitem que você aloque recursos, como memória e CPU, a diferentes tipos de consulta ou usuário, garantindo que as consultas essenciais sejam priorizadas em detrimento das menos importantes. As seções a seguir descrevem como criar filas, configurar suas propriedades e atribuir consultas de entrada com base em critérios definidos por você.

Os exemplos a seguir atribuem consultas a filas de acordo com perfis de usuário, grupos de usuários e grupos de consultas.

## Atribuir consultas a filas com base em perfis de usuário
<a name="cm-c-executing-queries-assigning-queries-to-queues-based-on-user-roles"></a>

 Se um usuário for atribuído a um perfil e esse perfil estiver anexado a uma fila, as consultas executadas por esse usuário serão atribuídas a essa fila. O exemplo a seguir cria um perfil de usuário chamado `sales_rw` e atribui o usuário `test_user` a esse perfil. 

```
create role sales_rw;
grant role sales_rw to test_user;
```

Você também pode combinar permissões de dois perfis ao conceder explicitamente um perfil a outro. A atribuição de um perfil aninhado a um usuário concede as permissões de ambos os perfis ao usuário.

```
create role sales_rw;
create role sales_ro;
grant role sales_ro to role sales_rw;
grant role sales_rw to test_user;
```

Para ver a lista de usuários que receberam perfis no cluster, consulte a tabela SVV\_USER\_GRANTS. Para ver a lista de perfis que receberam perfis no cluster, consulte a tabela SVV\_ROLE\_GRANTS.

```
select * from svv_user_grants;
select * from svv_role_grants;
```

## Atribuir consultas a filas com base em grupos de usuários
<a name="cm-c-executing-queries-assigning-queries-to-queues-based-on-user-groups"></a>

Se o nome de um grupo de usuários estiver listado em uma definição de fila, as consultas executadas por membros desse grupo de usuários são atribuídas à fila correspondente. O exemplo a seguir cria grupos de usuários e adiciona usuários a grupos usando os comandos SQL [CREATE USER](r_CREATE_USER.md), [CREATE GROUP](r_CREATE_GROUP.md) e [ALTER GROUP](r_ALTER_GROUP.md).

```
create group admin_group with user admin246, admin135, sec555;
create user vp1234 in group ad_hoc_group password 'vpPass1234';
alter group admin_group add user analyst44, analyst45, analyst46;
```

## Atribuir uma consulta a um grupo de consultas
<a name="cm-c-executing-queries-assigning-a-query-to-a-query-group"></a>

É possível atribuir uma consulta a uma fila no tempo de execução atribuindo a consulta ao grupo de consultas apropriado. Use o comando SET para iniciar um grupo de consultas.

```
SET query_group TO {{group_label}}             
```

Aqui, {{`group_label`}} é um rótulo de grupo de consulta listado na configuração do WLM.

Todas as consultas executadas depois do comando `SET query_group` são executadas como membros do grupo de consultas especificado até você redefinir o grupo de consultas ou encerrar a sessão de login atual. Para obter informações sobre como definir e redefinir objetos do Amazon Redshift, consulte [SET](r_SET.md) e [RESET](r_RESET.md) na Referência de comandos SQL.

Os rótulos do grupo de consultas especificados devem ser incluídos na configuração do WLM atual; do contrário, o comando *SET query\_group* não afeta filas de consultas.

O rótulo definido na cláusula TO é capturado nos logs de consulta, de maneira que você possa usá-lo na solução de problemas. Para obter informações sobre o parâmetro de configuração query\_group, consulte [query\_group](r_query_group.md) na Referência de configuração.

O exemplo a seguir executa duas consultas como parte de 'priority' do grupo de consultas e redefine o grupo de consultas.

```
set query_group to 'priority';
select count(*)from stv_blocklist;
select query, elapsed, substring from svl_qlog order by query desc limit 5; 
reset query_group;
```

## Atribuir consultas à fila de superusuários
<a name="cm-c-executing-queries-assigning-superuser-queue"></a>

Para atribuir uma consulta à fila de superusuário, faça logon no Amazon Redshift como superusuário e execute a consulta no grupo de superusuário. Quando você tiver terminado, redefina o grupo de consultas, de maneira que as consultas subsequentes não sejam executadas na fila de superusuários.

O exemplo a seguir atribui dois comandos a serem executados na fila de superusuários.

```
set query_group to 'superuser';

analyze;
vacuum; 
reset query_group;
```

Para exibir uma lista de superusuários, consulte a tabela de catálogo do sistema PG\_USER.

```
select * from pg_user where usesuper = 'true';
```