PostgreSQL 9.1.1文書
前のページ | 巻戻し |  | 早送り | 次のページ

# RELEASE SAVEPOINT

## 名前

RELEASE SAVEPOINT -- 設定済みのセーブポイントを破棄する

## 概要

    RELEASE [ SAVEPOINT ] savepoint_name

## 説明

`RELEASE SAVEPOINT`は、現在のトランザクションで事前に設定されていたセーブポイントを破棄します。

セーブポイントを破棄すると、ロールバックするポイントとして使用できなくなります。 他にユーザの目に付くような動作はありません。 このコマンドは、セーブポイントの設定後に実行されたコマンドの効果を取り消すわけではありません （これを行う方法はROLLBACK TO SAVEPOINTを参照してください）。 不要になったセーブポイントを破棄することにより、システムがトランザクションの終了前に多少のリソースを回収することができます。

また、`RELEASE SAVEPOINT`が実行されると、指定したセーブポイントの後に設定されたセーブポイントは全て破棄されます。

## パラメータ

`savepoint_name`

  破棄するセーブポイントの名前です。

## 注釈

設定されていないセーブポイント名を指定するとエラーになります。

トランザクションがアボート状態の時には、セーブポイントを解放することはできません。

同じ名前のセーブポイントが複数存在する場合、最後に設定されたセーブポイントが解放されます。

## 例

セーブポイントを設定し、その後、破棄します。

    BEGIN;
        INSERT INTO table1 VALUES (3);
        SAVEPOINT my_savepoint;
        INSERT INTO table1 VALUES (4);
        RELEASE SAVEPOINT my_savepoint;
    COMMIT;

上記のトランザクションでは、3と4の両方が挿入されます。

## 互換性

このコマンドは標準SQLに準拠しています。 SQL:2003標準では、`SAVEPOINT`は必須であると規定されています。 PostgreSQLでは`SAVEPOINT`キーワードを省略することができます。

## 関連項目

BEGIN, COMMIT, ROLLBACK, ROLLBACK TO SAVEPOINT, SAVEPOINT

前のページ | ホーム | 次のページ
REINDEX | 上に戻る | RESET