

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# SYS\_QUERY\_TEXT
<a name="SYS_QUERY_TEXT"></a>

使用 SYS\_QUERY\_TEXT 來檢視所有查詢的查詢文字。每一列代表查詢的查詢文字，最多 4000 個字元，以序列號 0 開始。當查詢陳述式包含超過 4000 個字元時，會藉由遞增每個列的序號來記錄陳述式的其他列。此檢視會記錄所有使用者查詢文字，例如 DDL、公用程式、Amazon Redshift 查詢，以及僅限潛在客戶節點的查詢。

所有使用者都可看見 SYS\_QUERY\_TEXT。超級使用者可以看見所有資料列；一般使用者只能看見自己的資料。如需詳細資訊，請參閱[系統資料表和檢視中資料的可見性](cm_chap_system-tables.md#c_visibility-of-data)。

## 資料表欄
<a name="SYS_QUERY_TEXT-table-columns"></a>


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| user\_id | integer | 提交查詢之使用者的識別碼。 | 
| query\_id | bigint | 查詢識別碼。 | 
| transaction\_id | bigint | 與陳述式關聯的交易 ID。 | 
| session\_id | integer | 執行查詢之工作階段的處理程序識別碼。 | 
| start\_time | timestamp | 查詢開始的時間。 | 
| sequence | integer | 當單一陳述式包含不只 4000 個字元時，會將該陳述式的其他列記錄下來。序列 0 是第一列，1 是第二列，以此類推。 | 
| text | character (4000) | 以 4000 個字元為單位遞增的 SQL 查詢文字。此欄位可能包含特殊字元，例如反斜線 () 和換行符號 ()。 | 

## 範例查詢
<a name="SYS_QUERY_TEXT-sample-queries"></a>

下列查詢會傳回執行中和佇列中的查詢。

```
SELECT user_id, 
 query_id, 
 transaction_id, 
 session_id, start_time, 
 sequence, trim(text) as text from sys_query_text 
 ORDER BY sequence;
```

輸出範例。

```
 user_id | query_id | transaction_id | session_id |        start_time          | sequence |                                                        text
--------+----------+-----------------+------------+----------------------------+----------+----------------------------------------------------------------------------------------------------------------------
   100  |     4    |       1396      | 1073750220 | 2023-04-28 16:44:55.887184 |     0    | SELECT trim(text) as text, sequence FROM sys_query_text WHERE query_id = pg_last_query_id() AND user_id > 1 AND start
_time > '2023-04-28 16:44:55.922705+00:00'::timestamp order by sequence;
```

下列查詢會傳回已從資料庫中的群組授與或撤銷的許可。

```
SELECT 
    SPLIT_PART(text, ' ', 1) as grantrevoke, 
    SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'GROUP'))), ' ', 2) as group, 
    SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), ' '))), 'ON', 1) as type, 
    SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'ON'))), ' ', 2) || ' ' || SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'ON'))), ' ', 3) as entity 
FROM SYS_QUERY_TEXT 
WHERE (text LIKE 'GRANT%' OR text LIKE 'REVOKE%') AND text LIKE '%GROUP%';
         
+-------------+----------+--------+----------+
| grantrevoke |  group   |  type  |  entity  |
+-------------+----------+--------+----------+
| GRANT       | bi_group | SELECT | TABLE t1 |
| GRANT       | bi_group | SELECT | TABLE t1 |
| GRANT       | bi_group | SELECT | TABLE t1 |
| GRANT       | bi_group | USAGE  | TABLE t1 |
| GRANT       | bi_group | SELECT | TABLE t1 |
| GRANT       | bi_group | SELECT | TABLE t1 |
+-------------+----------+--------+----------+
```