メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

STL_QUERYTEXT

SQL コマンドのクエリテキストを取得します。

STL_QUERYTEXT テーブルをクエリして、次のステートメントに関して記録された SQL を取得します。

  • SELECT、SELECT INTO

  • INSERT、UPDATE、DELETE

  • COPY

  • VACUUM、ANALYZE

  • CREATE TABLE AS (CTAS)

これらのステートメントに関する一定期間のアクティビティをクエリするには、STL_QUERYTEXT テーブルと STL_QUERY テーブルを結合します。

注記

STL_QUERY および STL_QUERYTEXT テーブルには、クエリに関する情報だけが含まれており、他のユーティリティや DDL コマンドは含まれていません。Amazon Redshift によって実行されるすべてのステートメントのリストと情報を得るには、STL_DDLTEXT および STL_UTILITYTEXT テーブルもクエリします。Amazon Redshift によって実行されるすべてのステートメントの完全なリストを得るには、SVL_STATEMENTTEXT ビューをクエリします。

STL_DDLTEXTSTL_UTILITYTEXTSVL_STATEMENTTEXT も参照してください。

このテーブル はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できます。通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。
xid bigint トランザクション ID。
pid integer プロセス ID。通常、セッション内のすべてのクエリは同一プロセスで実行されるため、一連のクエリを同一セッションで実行した場合、この値は通常は一定です。Amazon Redshift は特定の内部イベントに続いてアクティブなセッションを再起動し、新しい PID を割り当てる場合があります。詳細については、「STL_RESTARTED_SESSIONS」を参照してください。この列を使用して、STL_ERROR テーブルに結合できます。
sequence integer 1 つのステートメントに含まれる文字数が 200 を超える場合、そのステートメントは追加の行に記録されます。シーケンス 0 が最初の行、1 が 2 番目の行、という順番です。
text character(200) 200 文字単位の SQL テキスト。

サンプルクエリ

PG_BACKEND_PID() 関数を使用して、現在のセッションに関する情報を取得できます。たとえば、次のクエリは、現在のセッションで実行されたクエリのクエリ ID およびクエリテキスト部分を返します。

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

このページの内容: