Redshiftで実行中のクエリを確認する方法と停止する方法を教えてください

意図せず重いクエリを複数投げた場合など、クエリがキューにスタックしてしまい、他の処理が遅延してしまうことなどがあります。

その場合、次の手順に沿ってクエリのキャンセルを実施してください。

  1. クエリを実行しているユーザと同じユーザでログインし、以下のクエリにより実行中のクエリ一覧を取得してください。

select pid, trim(user_name), starttime, substring(query,1,20)
from stv_recents
where status='Running';

  1. キャンセルしたいクエリのPIDを確認し、CANCELコマンドを実行してください。

cancel {pid}

上記コマンドがすぐに結果を返さない場合は、緊急時用途のsuperuserモードでクエリを実行することを検討ください。superuserモードでは他のクエリでキューがスタックしていても実行が可能です。

-- "superuser"モードに設定
set query_group to 'superuser';

-- (この間はsuperuser用のキューでクエリを実行)

-- "superuser"モードを解除
reset query_group;

"superuser"は緊急時のオペレーションのために用意されておりますので、常用はお控えください。

クエリのキャンセル方法についての詳細は、以下の公式ドキュメントに記載されています。

ステップ 6: クエリをキャンセルする | Amazon Redshift データベース開発者ガイド

 

他にご質問がございましたら、リクエストを送信してください

0 コメント

ログインしてコメントを残してください。
Powered by Zendesk