SVL_QLOG - Amazon Redshift

SVL_QLOG

SVL_QLOG ビューにはデータベースに対して実行されたすべてのクエリのログが含まれます。

Amazon Redshift は STL_QUERY テーブルから取得した情報の読み込み可能なサブセットとして SVL_QLOG ビューを作成します。このテーブルを使用して最近実行されたクエリのクエリ ID を検索したり、クエリが完了するまでにかかった時間を確認します。

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

このテーブルの一部またはすべてのデータは、SYS モニタリングビュー SYS_QUERY_HISTORY でも確認できます。SYS モニタリングビューのデータは、使いやすく理解しやすいようにフォーマットされます。クエリには、SYS モニタリングビューを使用することをお勧めします。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。この ID を使用して、他のさまざまなシステムテーブルやビューを結合できます。
xid bigint トランザクション ID。
pid integer クエリに関連付けられたプロセス ID。
starttime timestamp ステートメントの実行が開始された正確な時刻。秒の小数部の精度 (6 桁) を使用します (例: 2009-06-12 11:29:19.131358)。
endtime timestamp ステートメントの実行が終了した正確な時刻。秒の小数部の精度 (6 桁) を使用します (例: 2009-06-12 11:29:19.193640)。
elapsed bigint クエリの実行にかかった時間の長さ (マイクロ秒)。
aborted integer クエリがシステムによって停止されたかユーザーによってキャンセルされた場合、この列は 1 になります。クエリが最後まで実行された場合、この列は 0 になります。ワークロードを管理する目的でキャンセルされ、その後再開されたクエリでも、この列の値が 1 になります。
ラベル character(320) クエリを実行するために使用される名前、または SET QUERY_GROUP コマンドによって定義されるラベル。クエリがファイルベースでないか、QUERY_GROUP パラメータが設定されていない場合、このフィールドの値は default になります。
substring character(60) 切り捨てられたクエリのテキスト。
source_query integer クエリで結果のキャッシュが使用された場合、キャッシュされた結果のソースとなったクエリのクエリ ID。結果のキャッシュが使用されていない場合、このフィールドの値は NULL です。
concurrency_scaling_status_txt text クエリがメインクラスター、または同時実行スケーリングクラスターのどちらで実行されたかについての説明。
from_sp_call integer クエリがストアドプロシージャから呼び出された場合は、プロシージャ呼び出しのクエリ ID。クエリがストアドプロシージャの一部として実行されなかった場合、このフィールドは NULL です。

サンプルクエリ

以下の例では、userid = 100 のユーザーによって実行された最近 5 つのデータベースクエリのクエリ ID、実行時間、および切り捨てられたクエリテキストが返されます。

select query, pid, elapsed, substring from svl_qlog where userid = 100 order by starttime desc limit 5; query | pid | elapsed | substring --------+-------+----------+----------------------------------------------- 187752 | 18921 | 18465685 | select query, elapsed, substring from svl_... 204168 | 5117 | 59603 | insert into testtable values (100); 187561 | 17046 | 1003052 | select * from pg_table_def where tablename... 187549 | 17046 | 1108584 | select * from STV_WLM_SERVICE_CLASS_CONFIG 187468 | 17046 | 5670661 | select * from pg_table_def where schemaname... (5 rows)

次の例では、キャンセルされたクエリ (aborted=1) の SQL スクリプト名 (LABEL 列) と経過時間を返します。

select query, elapsed, trim(label) querylabel from svl_qlog where aborted=1; query | elapsed | querylabel -------+----------+------------------------- 16 | 6935292 | alltickittablesjoin.sql (1 row)