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

STV_RECENTS

現在アクティブなクエリや、最近データベースに対して実行されたクエリに関する情報を取得するには、STV_RECENTS テーブルを使用します。

STV_RECENTS のすべての行は、別のユーザーによって生成された行を含め、すべてのユーザーに表示されます。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
status character(20) クエリのステータス有効な値は、Running および Done です。
starttime timestamp クエリが開始された時刻。
duration integer セッション開始後の経過時間をマイクロ秒で示します。
user_name character(50) 処理を実行しているユーザーの名前。
db_name character(50) データベースの名前
query character(600) 600 文字以内のクエリテキスト。600 文字を超えるテキストは切り捨てられます。
pid integer クエリに関連付けられたセッションのプロセス ID。クエリが完了している場合は -1 です。

サンプルクエリ

データベースに対して現在実行されているクエリが何であるか調べるには、以下のクエリを入力します。

Copy
select user_name, db_name, pid, query from stv_recents where status = 'Running';

以下の出力例には、TICKIT データベース上で実行されているクエリが 1 つ表示されています。

Copy
user_name | db_name | pid | query ----------+---------+---------+------------- dwuser | tickit | 19996 |select venuename, venueseats from venue where venueseats > 50000 order by venueseats desc;

以下の例では、実行中または実行予定のキュー内で待機しているクエリ (存在する場合) のリストが返されます。

Copy
select * from stv_recents where status<>'Done'; status | starttime | duration |user_name|db_name| query | pid -------+---------------------+----------+---------+-------+-----------+------ Running| 2010-04-21 16:11... | 281566454| dwuser |tickit | select ...| 23347
このクエリは、複数のキューを同時に実行していてそのうちいくつかがキュー内にある場合以外は結果を返しません。

以下の例は、前の例を拡張したものです。この場合、真に「フライト中」 (待機中でなく実行中) のクエリは結果から除外されます。

Copy
select * from stv_recents where status<>'Done' and pid not in (select pid from stv_inflight); ...

このページの内容: