PG_ CANCEL BACKEND - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

PG_ CANCEL BACKEND

取消查詢。PG CANCEL _ BACKEND 在CANCEL功能上等同於命令。您可以取消使用者目前正在執行的查詢。超級使用者可以取消任何查詢。

語法

pg_cancel_backend( pid )

引數

pid

要取消的查詢的進程 ID(PID)。您無法藉由指定查詢 ID 來取消查詢;您必須指定查詢的處理程序 ID。需要 INTEGER 值。

傳回類型

使用須知

如果有多個工作階段中的查詢在同一資料表上保持鎖定,您可以使用 PG_ TERMINATE BACKEND 函數來終止其中一個工作階段,這樣可強制終止工作階段中任何目前正在執行的交易,以解除所有鎖定並恢復交易。查詢 PG__ 目LOCKS錄資料表以檢視目前保留的鎖定。如果您無法取消查詢,因為它位於交易區塊 (BEGIN...END) 中,您可以使用 PG TERMINATE _ BACKEND 函式終止執行查詢的工作階段。

範例

若要取消目前執行中的查詢,請先擷取您要取消之查詢的處理程序 ID。若要判斷所有目前正在執行的查詢的程序IDs,請執行下列命令。

SELECT pid, TRIM(starttime) AS start, duration, TRIM(user_name) AS user, SUBSTRING(query,1,40) AS querytxt FROM stv_recents WHERE status = 'Running'; +-----+------------------------+----------+--------+-----------------------------+ | pid | starttime | duration | user | querytxt | +-----+------------------------+----------+--------+-----------------------------+ | 802 | 2013-10-14 09:19:03.55 | 132 | dwuser | select venuename from venue | | 834 | 2013-10-14 08:33:49.47 | 1250414 | dwuser | select * from listing; | | 964 | 2013-10-14 08:30:43.29 | 326179 | dwuser | select sellerid from sales | +-----+------------------------+----------+--------+-----------------------------+

若要取消處理程序識別碼為 802 的查詢,請使用下列範例。

SELECT PG_CANCEL_BACKEND(802);