

 Amazon Redshift unterstützt ab Patch 198 nicht mehr die Erstellung neuer Python-UDFs. Bestehende Python-UDFs werden bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Erfasst den Abfragetext für SQL-Befehle.

Fragen Sie die Ansicht STL\_QUERYTEXT, ab, um den SQL-Text zu erfassen, der für die folgenden Anweisungen protokolliert wurde: 
+ SELECT, SELECT INTO
+ INSERT, UPDATE, DELETE
+ COPY
+ UNLOAD
+ Die durch das Ausführen von VACUUM und ANALYZE generierten Abfragen
+ CREATE TABLE AS (CTAS)

Um Aktivitäten für diese Anweisungen über einen bestimmten Zeitraum abzufragen, verbinden Sie die Ansichten STL\_QUERYTEXT und STL\_QUERY.

**Anmerkung**  
Die Ansichten STL\_QUERY und STL\_QUERYTEXT enthalten nur Informationen zu Abfragen, nicht zu weiteren Utility- und DDL-Befehlen. Für eine Liste und Informationen zu allen von Amazon Redshift ausgeführten Anweisungen können Sie auch die Ansichten STL\_DDLTEXT und STL\_UTILITYTEXT abfragen. Für eine vollständige Liste aller von Amazon Redshift ausgeführten Anweisungen können Sie die Ansicht SVL\_STATEMENTTEXT abfragen.

Vgl. auch [STL\_DDLTEXT](r_STL_DDLTEXT.md), [STL\_UTILITYTEXT](r_STL_UTILITYTEXT.md) und [SVL\_STATEMENTTEXT](r_SVL_STATEMENTTEXT.md).

STL\_QUERYTEXT ist für alle Benutzer sichtbar. Superuser können alle Zeilen sehen; reguläre Benutzer können nur ihre eigenen Daten sehen. Weitere Informationen finden Sie unter [Sichtbarkeit der Daten in Systemtabellen und Ansichten](cm_chap_system-tables.md#c_visibility-of-data).

Einige oder alle Daten in dieser Tabelle sind auch in der SYS-Überwachungsansicht [SYS\_QUERY\_TEXT](SYS_QUERY_TEXT.md) zu finden. Die Daten in der SYS-Überwachungsansicht sind so formatiert, dass sie leichter verwendbar und besser verständlich sind. Wir empfehlen Ihnen, für Ihre Abfragen die SYS-Überwachungsansicht zu verwenden.

Beachten Sie, dass STL\_QUERYTEXT bei einer Länge von mehr als 4000 Zeichen nur gekürzte Daten anzeigt. Um den vollständigen Abfragetext zu erhalten, können Sie UNION für den Abfragetext zeilenübergreifend verwenden. 

## Tabellenspalten
<a name="r_STL_QUERYTEXT-table-columns"></a>


| Spaltenname  | Datentyp  | Beschreibung  | 
| --- | --- | --- | 
| userid | integer | ID des Benutzers, der den Eintrag generiert hat. | 
| xid  | bigint  | Transaktions-ID.  | 
| pid | integer | Prozess-ID. Normalerweise werden alle Abfragen in einer Sitzung in demselben Prozess ausgeführt; dieser Wert bleibt daher konstant, wenn Sie eine Reihe von Abfragen in derselben Sitzung ausführen. Im Anschluss an bestimmte interne Ereignisse startet Amazon Redshift möglicherweise eine aktive Sitzung neu und weist eine neue PID zu. Weitere Informationen finden Sie unter [STL\_RESTARTED\_SESSIONS](r_STL_RESTARTED_SESSIONS.md). Mit dieser Spalte können Sie eine Verbindung zur Ansicht [STL\_ERROR](r_STL_ERROR.md) herstellen.  | 
| query  | integer | Abfrage-ID. Die Abfrage-Spalte kann verwendet werden, um andere Systemtabellen und Anzeigen anzufügen. | 
| sequence  | integer  | Wenn eine einzelne Anweisung mehr als 200 Zeichen enthält, werden weitere Zeilen für diese Anweisung protokolliert. Sequenz 0 ist die erste Zeile, 1 die zweite usw.  | 
| Text  | character(200)  | SQL-Text, in Schritten von je 200 Zeichen. Diese Feld kann Sonderzeichen wie Backslash (\\\\) und Zeilenumbruch (\\n) enthalten.  | 

## Beispielabfragen
<a name="r_STL_QUERYTEXT-sample-queries"></a>

Mit der Funktion PG\_BACKEND\_PID() können Sie Informationen zur aktuellen Sitzung abrufen. Beispielsweise gibt die folgende Abfrage die Abfrage-ID und einen Teil des Abfragetexts für Abfragen aus, die in der aktuellen Sitzung abgeschlossen wurden.

```
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)
```

### Wiederherstellen von gespeichertem SQL
<a name="r_STL_QUERYTEXT-reconstruct-sql"></a>

Um das in der Spalte `text` von STL\_QUERYTEXT gespeicherte SQL wiederherzustellen, führen Sie eine SELECT-Anweisung aus, um SQL von mindestens einem Teil der Spalte `text` zu erstellen. Bevor Sie das wiederhergestellte SQL ausführen, ersetzen Sie alle Sonderzeichen (`\n`) durch einen Zeilenumbruch. Das Ergebnis der folgenden SELECT-Anweisung besteht aus Zeilen von wiederhergestelltem SQL im Feld `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;
```

Mit der folgenden Abfrage werden beispielsweise 3 Spalten ausgewählt. Die Abfrage selbst ist länger als 200 Zeichen und wird in mehreren Teilen in STL\_QUERYTEXT gespeichert.

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

In diesem Beispiel wird die Abfrage in 2 Teilen (Zeilen) in der Spalte `text` von STL\_QUERYTEXT gespeichert.

```
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;
```

Um das in STL\_QUERYTEXT gespeicherte SQL wiederherzustellen, führen Sie den folgenden SQL-Code aus. 

```
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();
```

Um das resultierende wiederhergestellte SQL in Ihrem Client zu verwenden, ersetzen Sie alle Sonderzeichen (`\n`) durch einen Zeilenumbruch. 

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