The CANCEL SESSION statement lets you stop long-running sessions. CANCEL SESSION will attempt to cancel the currently active query and end the session.
Required privileges
To view and cancel a session, the user must be a member of the admin role or must have the VIEWACTIVITY system privilege (or the legacy VIEWACTIVITY role option) and the CANCELQUERY system privilege (or the legacy CANCELQUERY role option) defined. Non-admin users cannot cancel admin users' sessions.
Synopsis
Parameters
| Parameter | Description |
|---|---|
session_id |
The ID of the session you want to cancel, which can be found with SHOW SESSIONS.CANCEL SESSION accepts a single session ID. If a subquery is used and returns multiple IDs, the CANCEL SESSION statement will fail. To cancel multiple sessions, use CANCEL SESSIONS. |
select_stmt |
A selection query that returns session_id(s) to cancel. |
Example
Cancel a single session
In this example, we use the SHOW SESSIONS statement to get the ID of a session and then pass the ID into the CANCEL SESSION statement:
> SHOW SESSIONS;
+---------+----------------------------------+-----------+...
| node_id | session_id | user_name |...
+---------+----------------------------------+-----------+...
| 1 | 1530c309b1d8d5f00000000000000001 | root |...
+---------+----------------------------------+-----------+...
| 1 | 1530fe0e46d2692e0000000000000001 | maxroach |...
+---------+----------------------------------+-----------+...
> CANCEL SESSION '1530fe0e46d2692e0000000000000001';
You can also cancel a session using a subquery that returns a single session ID:
> CANCEL SESSIONS (WITH x AS (SHOW SESSIONS) SELECT session_id FROM x
WHERE user_name = 'root');
Cancel multiple sessions
Use the SHOW SESSIONS statement to view all active sessions:
> SHOW SESSIONS;
+---------+----------------------------------+-----------+...
| node_id | session_id | user_name |...
+---------+----------------------------------+-----------+...
| 1 | 1530c309b1d8d5f00000000000000001 | root |...
+---------+----------------------------------+-----------+...
| 1 | 1530fe0e46d2692e0000000000000001 | maxroach |...
+---------+----------------------------------+-----------+...
| 1 | 15310cc79671fc6a0000000000000001 | maxroach |...
+---------+----------------------------------+-----------+...
To cancel multiple sessions, nest a SELECT clause that retrieves session_id(s) inside the CANCEL SESSIONS statement:
> CANCEL SESSIONS (WITH x AS (SHOW SESSIONS) SELECT session_id FROM x
WHERE user_name = 'maxroach');
All sessions created by maxroach will be cancelled.