

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# PG\$1CANCEL\$1BACKEND
<a name="PG_CANCEL_BACKEND"></a>

取消查詢。PG\$1CANCEL\$1BACKEND 的功能相當於 [取消](r_CANCEL.md) 命令。您可以取消使用者目前正在執行的查詢。超級使用者可以取消任何查詢。

## 語法
<a name="PG_CANCEL_BACKEND-synopsis"></a>

```
pg_cancel_backend( pid )
```

## 引數
<a name="PG_CANCEL_BACKEND-arguments"></a>

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

## 傳回類型
<a name="PG_CANCEL_BACKEND-return-type"></a>

無

## 使用須知
<a name="PG_CANCEL_BACKEND-usage-notes"></a>

如果有多個工作階段中的查詢在同一資料表上保持鎖定，您可以使用 [PG\$1TERMINATE\$1BACKEND](PG_TERMINATE_BACKEND.md) 函數來終止其中一個工作階段，這樣可強制終止工作階段中任何目前正在執行的交易，以解除所有鎖定並恢復交易。查詢 PG\$1\$1LOCKS 目錄資料表以檢視目前持有的鎖定。如果因為查詢在交易區塊中 (BEGIN … END) 而無法取消查詢，您可以使用 PG\$1TERMINATE\$1BACKEND 函數，以終止查詢執行所在的工作階段。

## 範例
<a name="PG_CANCEL_BACKEND-example"></a>

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

```
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);
```