Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

CANCEL - Amazon Redshift

CANCEL

現在実行中のデータベースクエリをキャンセルします。

CANCEL コマンドは実行中のクエリのプロセス ID またはセッション ID を必要とし、クエリがキャンセルされたことを確認する確認メッセージを表示します。

必要な権限

CANCEL に必要な権限を以下に示します。

  • 自身のクエリをキャンセルしているスーパーユーザー

  • ユーザーのクエリをキャンセルしているスーパーユーザー

  • CANCEL の権限を持ち、ユーザーのクエリをキャンセルしているユーザー

  • 自身のクエリをキャンセルしているユーザー

構文

CANCEL process_id [ 'message' ]

パラメータ

process_id

Amazon Redshift クラスターで実行されているクエリをキャンセルするには、キャンセルするクエリに対応する STV_RECENTSpid (プロセス ID) を使用します。

Amazon Redshift Serverless ワークグループで実行されているクエリをキャンセルするには、キャンセルするクエリに対応する SYS_QUERY_HISTORYsession_id を使用します。

'message'

オプションの確認メッセージ。クエリのキャンセルが完了したときに表示されます。メッセージを指定しなかった場合、Amazon Redshift は確認としてデフォルトメッセージを表示します。メッセージは一重引用符で囲む必要があります。

使用に関する注意事項

クエリ ID を指定してクエリをキャンセルすることはできません。クエリのプロセス ID (PID) またはセッション ID を指定する必要があります。ユーザーによって現在実行されているクエリのみキャンセルできます。スーパーユーザーはすべてのクエリをキャンセルできます。

複数のセッション内のクエリが同じテーブルでロックを保持する場合は、PG_TERMINATE_BACKEND 関数を使用してセッションの 1 つを終了できます。これを行うと、終了したセッションで現在実行されているトランザクションがすべてのロックを解除し、トランザクションがロールバックされます。STV_LOCKS システムテーブルに対してクエリを実行して、現在保持しているロックを表示します。

Amazon Redshift は特定の内部イベントに続いてアクティブなセッションを再起動し、新しい PID を割り当てる場合があります。PID が変更されている場合は、次のようなエラーメッセージが表示されることがあります。

Session <PID> does not exist. The session PID might have changed. Check the stl_restarted_sessions system table for details.

新しい PID を見つけるには、STL_RESTARTED_SESSIONSシステムテーブルに対してクエリを実行し、oldpid列でフィルタリングします。

select oldpid, newpid from stl_restarted_sessions where oldpid = 1234;

Amazon Redshift クラスターで現在実行されているクエリをキャンセルするには、キャンセルするクエリのプロセス ID を最初に取得します。現在実行されているすべてのクエリのプロセス ID を確認するには、次のコマンドを入力します。

select pid, starttime, duration, trim(user_name) as user, trim (query) as querytxt from stv_recents where status = 'Running'; pid | starttime | duration | user | querytxt -----+----------------------------+----------+----------+----------------- 802 | 2008-10-14 09:19:03.550885 | 132 | dwuser | select venuename from venue where venuestate='FL', where venuecity not in ('Miami' , 'Orlando'); 834 | 2008-10-14 08:33:49.473585 | 1250414 | dwuser | select * from listing; 964 | 2008-10-14 08:30:43.290527 | 326179 | dwuser | select sellerid from sales where qtysold in (8, 10);

クエリテキストをチェックし、キャンセルするクエリに対応するプロセス ID (PID) を確認します。

次のコマンドを入力して、PID 802 を使用してクエリをキャンセルします。

cancel 802;

クエリが実行されていたセッションは、次のメッセージを表示します。

ERROR: Query (168) cancelled on user's request

ここでは、168はクエリ ID です (クエリをキャンセルするために使用されるプロセス ID ではありません)。

また、デフォルトメッセージの代わりに表示するカスタム確認メッセージを指定することもできます。カスタムメッセージを指定するには、CANCEL コマンドの最後に一重引用符で囲んだメッセージを付けます。

cancel 802 'Long-running query';

クエリが実行されていたセッションは、次のメッセージを表示します。

ERROR: Long-running query
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.