キューへのクエリの割り当て
次の例では、ユーザーグループとクエリグループに従ってクエリをキューに割り当てます。
ユーザーグループに基づくクエリのキューへの割り当て
ユーザーグループ名がキューの定義にリストされている場合、そのユーザーグループのメンバーによって実行されたキューは、対応するキューに割り当てられます。次の例では、ユーザーグループを作成し、SQL コマンド CREATE USER、CREATE GROUP、および ALTER GROUP を使用してユーザーをグループに割り当てます。
create group admin_group with user admin246, admin135, sec555; create user vp1234 in group ad_hoc_group password 'vpPass1234'; alter group admin_group add user analyst44, analyst45, analyst46;
クエリグループへのクエリの割り当て
適切なクエリグループにクエリを割り当てることで、実行時にクエリをキューに割り当てることができます。クエリグループを開始するには、SET コマンドを使用します。
SET query_group TO
group_label
ここで、
は、WLM 設定にリストされているクエリグループのラベルです。group_label
SET query_group
コマンドの後で実行するすべてのクエリは、クエリグループをリセットするか、現在のログインセッションを終了するまで、指定されたクエリグループのメンバーとして実行されます。Amazon Redshift オブジェクトの設定とリセットの詳細については、SQL コマンドリファレンスの「SET」および「RESET」を参照してください。
指定するクエリグループラベルは現在の WLM 設定に含まれている必要があります。それ以外の場合、SET query_group コマンドはクエリキューに対して効果がありません。
TO 句で定義されたラベルはクエリログにキャプチャされるので、このラベルをトラブルシューティングに使用できます。query_group 設定パラメータの詳細については、設定リファレンスの「query_group」を参照してください。
次の例では、クエリグループ 'priority' の一部として 2 つのクエリを実行し、クエリグループをリセットします。
set query_group to 'priority'; select count(*)from stv_blocklist; select query, elapsed, substring from svl_qlog order by query desc limit 5; reset query_group;
Superuser キューへのクエリの割り当て
superuser キューにクエリを割り当てるには、スーパーユーザーとして Amazon Redshift にログオンし、superuser グループでクエリを実行します。終了したら、クエリグループをリセットし、以降のクエリが superuser キューで実行されないようにします。
次の例では、2 つのコマンドを superuser キューで実行するように割り当てます。
set query_group to 'superuser'; analyze; vacuum; reset query_group;
スーパーユーザーのリストを表示するには、PG_USER システムカタログテーブルをクエリします。
select * from pg_user where usesuper = 'true';