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.