Amazon Redshift で実行時間の長いクエリを削除しようとしましたが、そのクエリは依然として実行中です。
簡単な説明
次のシナリオにおいて、Amazon Redshift ではクエリを削除できません。
- クエリはクライアントに結果を返す処理を実行中である場合。
- クエリプロセスで重大な内部エラーが発生した場合。
クエリが正常に削除された後も、そのクエリは Running と表示される場合があります。クエリのロールバックプロセスが完了するまで待つ必要があります。
解決策
クエリがクライアントに結果を返す処理中であるかどうかを確認するには、次のクエリを実行します。
SELECT state FROM stv_wlm_query_state WHERE query = queryid
注: queryid をクエリ ID に置き換えてください。
出力において、STV_WLM_QUERY_STATE の state 列が Returning と表示されるかどうかを確認します。
クエリを削除するには、次の PG_TERMINATE_BACKEND コマンドを実行します。
SELECT PG_TERMINATE_BACKEND(PID);
注: PID をプロセス ID またはセッション ID に置き換えてください。
PG_TERMINATE_BACKEND コマンドでクエリを削除できない場合は、Amazon Redshift コンソールでハードリブートを行ってください。
注: ハードリブートを行う場合、現在の接続はすべて閉じられます。サーバーレスクラスターは再起動できません。
Amazon Redshift Serverless を使用している場合は、サポートケースを作成する必要があります。サポートケースでは次の情報を提供してください。
- 削除したいクエリの ID
- クラスター名またはワークグループ名
- 問題が発生した時刻
- 問題を解決するために実行したアクション