

 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\_TERMINATE\_BACKEND
<a name="PG_TERMINATE_BACKEND"></a>

セッションを終了します。ユーザー自身が所有するセッションを終了できます。スーパーユーザーはどのセッションでも終了できます。

## 構文
<a name="PG_TERMINATE_BACKEND-synopsis"></a>

```
pg_terminate_backend( pid )
```

## 引数
<a name="PG_TERMINATE_BACKEND-arguments"></a>

*pid*  
終了するセッションのプロセス ID。`INTEGER` 値は必須です。

## 戻り型
<a name="PG_TERMINATE_BACKEND-return-type"></a>

なし

## 使用に関する注意事項
<a name="PG_TERMINATE_BACKEND-usage-notes"></a>

 同時接続の制限に近づいている場合、PG\_TERMINATE\_BACKEND を使用してアイドル状態のセッションを終了し、接続を解放することができます。詳細については、[Amazon Redshift における制限](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)を参照してください。

複数のセッションのクエリが同じテーブルのロックを保持している場合、PG\_TERMINATE\_BACKEND を使用してセッションの 1 つを終了することができます。これにより、終了したセッションで現在実行中のトランザクションがあれば、そのすべてのロックが強制的に解放され、トランザクションがロールバックされます。PG\_LOCKS カタログテーブルに対してクエリを実行し、現在保持しているロックを表示します。

クエリがトランザクションブロック (BEGIN… END) 内にない場合、[CANCEL](r_CANCEL.md)コマンドまたは [PG\_CANCEL\_BACKEND](PG_CANCEL_BACKEND.md) 関数を使用してクエリをキャンセルできます。

## 例
<a name="PG_TERMINATE_BACKEND-example"></a>

SVV\_TRANSACTIONS テーブルをクエリし、現在のトランザクションで有効なすべてのロックを表示するには、次の例を使用します。

```
SELECT * FROM svv_transactions;

+-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+
| txn_owner | txn_db |  xid  | pid  |      txn_start      |    lock_mode    | lockable_object_type | relation | granted |
+-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+
| rsuser    | dev    | 96178 | 8585 | 2017-04-12 20:13:07 | AccessShareLock | relation             |    51940 | true    |
| rsuser    | dev    | 96178 | 8585 | 2017-04-12 20:13:07 | AccessShareLock | relation             |    52000 | true    |
| rsuser    | dev    | 96178 | 8585 | 2017-04-12 20:13:07 | AccessShareLock | relation             |   108623 | true    |
| rsuser    | dev    | 96178 | 8585 | 2017-04-12 20:13:07 | ExclusiveLock   | transactionid        |          | true    |
+-----------+--------+-------+------+---------------------+-----------------+----------------------+----------+---------+
```

ロックを保持しているセッションを終了するには、次の例を使用します。

```
SELECT PG_TERMINATE_BACKEND(8585); 
```