

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

# STL\_QUERYTEXT
<a name="r_STL_QUERYTEXT"></a>

Captura o texto da consulta para os comandos SQL.

Consulte a visualização STL\_QUERYTEXT para capturar o SQL que foi registrado para as seguintes instruções: 
+ SELECT, SELECT INTO
+ INSERT, UPDATE, DELETE
+ COPY
+ UNLOAD
+ As consultas geradas executando VACUUM e ANALYZE
+ CREATE TABLE AS (CTAS)

Para consultar a atividade dessas instruções em um determinado período de tempo, junte as visualizações STL\_QUERYTEXT e STL\_QUERY.

**nota**  
As visualizações STL\_QUERY e STL\_QUERYTEXT contêm apenas informações sobre consultas, não outro utilitário e comandos DDL. Para obter uma lista e informações sobre todas as instruções executadas pelo Amazon Redshift, também é possível consultar as visualizações STL\_DDLTEXT e STL\_UTILITYTEXT. Para obter uma lista completa de todas as instruções executadas pelo Amazon Redshift, é possível consultar a visualização SVL\_STATEMENTTEXT.

Consulte também [STL\_DDLTEXT](r_STL_DDLTEXT.md), [STL\_UTILITYTEXT](r_STL_UTILITYTEXT.md) e [SVL\_STATEMENTTEXT](r_SVL_STATEMENTTEXT.md).

STL\_QUERYTEXT permanece visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para obter mais informações, consulte [Visibilidade de dados em tabelas e visualizações de sistema](cm_chap_system-tables.md#c_visibility-of-data).

Alguns ou todos os dados nessa tabela também podem ser encontrados na exibição de monitoramento SYS [SYS\_QUERY\_TEXT](SYS_QUERY_TEXT.md). Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender. É recomendável usar a exibição de monitoramento SYS nas consultas.

Observe que, quando o comprimento do texto da consulta é superior a 4000 caracteres, STL\_QUERYTEXT exibe somente dados truncados. Para obter o texto completo da consulta, você pode usar UNION no texto da consulta em todas as linhas. 

## Colunas da tabela
<a name="r_STL_QUERYTEXT-table-columns"></a>


| Nome da coluna  | Tipo de dados  | Descrição  | 
| --- | --- | --- | 
| userid | integer | O ID do usuário que gerou a entrada. | 
| xid  | bigint  | ID da transação.  | 
| pid | integer | ID do processo. Normalmente, todas as consultas de uma sessão são executadas no mesmo processo, portanto esse valor geralmente permanece constante se você executa uma série de consultas na mesma sessão. Após certos eventos internos, o Amazon Redshift pode reiniciar uma sessão ativa e atribuir um novo PID. Para obter mais informações, consulte [STL\_RESTARTED\_SESSIONS](r_STL_RESTARTED_SESSIONS.md). Você pode usar esta coluna para ingressar na visualização [STL\_ERROR](r_STL_ERROR.md).  | 
| consultar  | integer | ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema. | 
| sequence  | integer  | Quando uma única instrução contém mais de 200 caracteres, são registradas linhas adicionais para essa instrução. O valor 0 da sequência é a primeira linha, 1 é a segunda, e assim por diante.  | 
| texto  | character(200)  | O texto em SQL, em incrementos de 200 caracteres. Esse campo pode conter caracteres especiais como barra invertida (\\\\) e nova linha (\\n).  | 

## Consultas de exemplo
<a name="r_STL_QUERYTEXT-sample-queries"></a>

Você pode usar a função PG\_BACKEND\_PID() para recuperar informações da sessão atual. Por exemplo, a consulta a seguir retorna o ID de consulta e uma parte do texto da consulta para as consultas concluídas na sessão atual.

```
select query, substring(text,1,60)
from stl_querytext
where pid = pg_backend_pid()
order by query desc;

 query |                         substring
-------+--------------------------------------------------------------
 28262 | select query, substring(text,1,80) from stl_querytext where 
 28252 | select query, substring(path,0,80) as path from stl_unload_l
 28248 | copy category from 's3://dw-tickit/manifest/category/1030_ma
 28247 | Count rows in target table
 28245 | unload ('select * from category') to 's3://dw-tickit/manifes
 28240 | select query, substring(text,1,40) from stl_querytext where 
(6 rows)
```

### Reconstrução de SQL armazenado
<a name="r_STL_QUERYTEXT-reconstruct-sql"></a>

Para reconstruir o SQL armazenado na coluna `text` de STL\_QUERYTEXT, execute uma instrução SELECT para criar SQL a partir de uma ou mais partes na coluna `text`. Antes de executar o SQL reconstruído, substitua os caracteres especiais por uma nova linha (`\n`). O resultado da instrução SELECT a seguir são linhas de SQL reconstruído no campo `query_statement`.

```
SELECT query, LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END) WITHIN GROUP (ORDER BY sequence) as query_statement, COUNT(*) as row_count 
FROM stl_querytext GROUP BY query ORDER BY query desc;
```

Por exemplo, a consulta a seguir seleciona três colunas. A consulta em si tem mais de 200 caracteres e é armazenada em partes em STL\_QUERYTEXT.

```
select
1 AS a0123456789012345678901234567890123456789012345678901234567890,
2 AS b0123456789012345678901234567890123456789012345678901234567890,
3 AS b012345678901234567890123456789012345678901234
FROM stl_querytext;
```

Nesse exemplo, a consulta é armazenada em duas partes (linhas) na coluna `text` de STL\_QUERYTEXT.

```
select query, sequence, text
from stl_querytext where query=pg_last_query_id() order by query desc, sequence limit 10;
```

```
query  | sequence |                                                                                             text                                                                                                   
-------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    45 |        0 | select\n1 AS a0123456789012345678901234567890123456789012345678901234567890,\n2 AS b0123456789012345678901234567890123456789012345678901234567890,\n3 AS b012345678901234567890123456789012345678901234
    45 |        1 | \nFROM stl_querytext;
```

Para reconstruir o SQL armazenado em STL\_QUERYTEXT, execute o seguinte SQL. 

```
select LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END, '') within group (order by sequence) AS text 
from stl_querytext where query=pg_last_query_id();
```

Para usar o SQL reconstruído resultante em seu cliente, substitua os caracteres especiais por uma nova linha (`\n`). 

```
                                                                                                             text                                                                                                             
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 select\n1 AS a0123456789012345678901234567890123456789012345678901234567890,\n2 AS b0123456789012345678901234567890123456789012345678901234567890,\n3 AS b012345678901234567890123456789012345678901234\nFROM stl_querytext;
```