

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 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는 기능 면에서 [CANCEL](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  |
+-----+------------------------+----------+--------+-----------------------------+
```

프로세스 ID 802로 쿼리를 취소하려면 다음 예제를 사용합니다.

```
SELECT PG_CANCEL_BACKEND(802);
```