

 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à.

# STL\$1UTILITYTEXT
<a name="r_STL_UTILITYTEXT"></a>

Acquisisce il testo dei comandi SQL non-SELECT eseguiti sul database.

Eseguire una query sulla vista STL\$1UTILITYTEXT per acquisire il seguente sottoinsieme di istruzioni SQL che sono state eseguite nel sistema:
+ ABORT, BEGIN, COMMIT, END, ROLLBACK
+ ANALYZE
+ CALL
+ CANCEL
+ COMMENT
+ CREATE, ALTER, DROP DATABASE
+ CREATE, ALTER, DROP USER
+ EXPLAIN
+ GRANT, REVOKE
+ LOCK
+ RESET
+ SET
+ MOSTRA
+ TRUNCATE

Consulta anche [STL\$1DDLTEXT](r_STL_DDLTEXT.md), [STL\$1QUERYTEXT](r_STL_QUERYTEXT.md) e [SVL\$1STATEMENTTEXT](r_SVL_STATEMENTTEXT.md).

Utilizza le colonne STARTTIME ed ENDTIME per scoprire quali istruzioni sono state registrate in un dato periodo. Blocchi lunghi di testo SQL sono suddivisi in righe di 200 caratteri; la colonna SEQUENCE identifica i frammenti di testo che appartengono a ogni singola istruzione.

La tabella di sistema STL\$1UTILITYTEXT supporta le operazioni MANUAL e AUTO REFRESH delle viste materializzate. Per identificare AUTO REFRESH sulle viste materializzate, individua la colonna `label`. Tutte le query AUTO REFRESH hanno un’etichetta con il valore `maintenance`.

STL\$1UTILITYTEXT è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consulta [Visibilità dei dati nelle tabelle e nelle viste di sistema](cm_chap_system-tables.md#c_visibility-of-data).

Alcuni o tutti i dati di questa tabella sono definiti anche nella vista di monitoraggio SYS [SYS\$1QUERY\$1HISTORY](SYS_QUERY_HISTORY.md). I dati nella vista di monitoraggio SYS sono formattati in modo da essere più facili da usare e comprendere. Ti consigliamo di utilizzare la vista di monitoraggio SYS per le query.

## Colonne di tabella
<a name="r_STL_UTILITYTEXT-table-columns"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/dg/r_STL_UTILITYTEXT.html)

## Query di esempio
<a name="r_STL_UTILITYTEXT-sample-queries"></a>

La seguente query restituisce il testo per i comandi "utility" eseguiti il 26 gennaio 2012. In questo caso, sono stati eseguiti alcuni comandi SET e un comando SHOW ALL: 

```
select starttime, sequence, rtrim(text)
from stl_utilitytext
where starttime like '2012-01-26%'
order by starttime, sequence;

starttime          | sequence |              rtrim
---------------------------+-----+----------------------------------
2012-01-26 13:05:52.529235 |   0 | show all;
2012-01-26 13:20:31.660255 |   0 | SET query_group to ''
2012-01-26 13:20:54.956131 |   0 | SET query_group to 'soldunsold.sql'
...
```

### Ricostruzione dell'SDL archiviato
<a name="r_STL_UTILITYTEXT-reconstruct-sql"></a>

Per ricostruire l'SQL archiviato nella colonna `text` di STL\$1UTILITYTEXT, eseguire un'istruzione SELECT per creare un SQL da 1 o più parti nella colonna `text`. Prima di eseguire l'SQL ricostruito, sostituire un carattere speciale qualsiasi (`\n`) con una nuova riga. Il risultato della dichiarazione SELECT seguente è dato da una riga di SQL ricostruiti nel campo `query_statement`.

```
SELECT LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END) WITHIN GROUP (ORDER BY sequence) as query_statement 
FROM stl_utilitytext GROUP BY xid order by xid;
```

Per esempio, la query seguente imposta query\$1group su una sequenza di zeri. La query stessa è più lunga di 200 caratteri ed è archiviata in parti in STL\$1UTILITYTEXT.

```
set query_group to '00000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000                  000000';
```

In questo esempio, la query è archiviata in 2 parti (righe) nella colonna `text` di STL\$1UTILITYTEXT.

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

```
         starttime          | sequence |                                                                                                   text                                                                                                   
----------------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 2019-07-23 22:55:34.926198 |        0 | set query_group to '00000000000000000000000000000000000000000000000000000000000000000000000000000000\n0000000000000000000000000000000000000000000000000000000000000000000000000000000000
 2019-07-23 22:55:34.926198 |        1 |                   000000';
```

Per ricostruire l'SQL archiviato in STL\$1UTILITYTEXT, eseguire l'SQL seguente. 

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

Per utilizzare l'SQL ricostruito derivante nel client, sostituire qualsiasi carattere speciale (`\n`) con una nuova riga. 

```
                                                                                                                                      query_statement                                                                                                                                       
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 set query_group to '00000000000000000000000000000000000000000000000000000000000000000000000000000000\n0000000000000000000000000000000000000000000000000000000000000000000000000000000000                  000000';
```