★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

名前

DISCARD — セッションの状態を破棄する

概要

DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }

説明

DISCARDはデータベースセッションに関連した内部リソースを解放します。 このコマンドはセッションの状態を部分的あるいは完全にリセットするのに役に立ちます。 様々な種類のリソースを解放するためにいくつかのサブコマンドがあります。 DISCARD ALLは他のすべてを包含し、さらにまた追加の状態もリセットします。

パラメータ

PLANS

キャッシュされた問い合わせ計画をすべて解放します。 これにより、関連するプリペアド文が次に使われたとき、強制的に計画がやり直されます。

SEQUENCES

キャッシュされたシーケンスに関連する状態をすべて破棄します。 これには、currval()/lastval()の情報、および事前に割り当てられたシーケンスの値で、まだnextval()によって返されていないものを含みます。 (事前に割り当てられたシーケンスの値についてはCREATE SEQUENCEを参照してください。)

TEMPORARYまたはTEMP

現在のセッションで作成された一時テーブルをすべて削除します。

ALL

現在のセッションに関連付いた一時的なリソースを解放し、セッションを初期状態に戻します。 現時点でこれは、以下に示す一連の文を実行することと同じ効果があります。

SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
DEALLOCATE ALL;
CLOSE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD SEQUENCES;
DISCARD TEMP;

注釈

DISCARD ALLをトランザクションブロック内で実行することはできません。

互換性

DISCARDPostgreSQLの拡張です。