

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の 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 を使用すると、すべてのクエリのクエリテキストを表示できます。各行は、シーケンス番号 0 から始まる最大 4000 文字のクエリのクエリテキストを表します。クエリステートメントに 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 | クエリを送信したユーザーの ID。 | 
| query\_id | bigint | クエリ識別子。 | 
| transaction\_id | bigint | ステートメントに関連付けられているトランザクション ID。 | 
| session\_id | integer | クエリを実行しているセッションのプロセス識別子。 | 
| start\_time | timestamp | クエリが開始される時刻。 | 
| sequence | integer | 1 つのステートメントに含まれる文字数が 4000 を超える場合、そのステートメントは追加の行に記録されます。シーケンス 0 が最初の行、1 が 2 番目の行、という順番です。 | 
| テキスト | character (4000) | 4000 文字単位の SQL クエリのテキスト。このフィールドには、バックスラッシュ (\\) や改行 (\\n) などの特殊文字が含まれる場合があります。 | 

## サンプルクエリ
<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 |
+-------------+----------+--------+----------+
```