2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

DISCARD

DISCARD — 丟棄會話狀態

概要

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

描述

DISCARD 釋放與資料庫會話關聯的內部資源。此命令可用於部分或完全重置會話的狀態。有幾個子命令可以釋放不同型別的資源;DISCARD ALL 變體包含了所有其他命令,並且還會重置其他額外的狀態。

引數

PLANS

釋放所有快取的查詢計劃,強制在下次使用關聯的準備語句時重新規劃。

SEQUENCES

丟棄所有快取的與序列相關的狀態,包括 currval()/lastval() 資訊以及尚未由 nextval() 返回的任何預分配的序列值。(有關預分配序列值的描述,請參見 CREATE SEQUENCE。)

TEMPORARYTEMP

刪除當前會話中建立的所有臨時表。

ALL

釋放與當前會話關聯的所有臨時資源,並將會話重置為其初始狀態。目前,這與執行以下一系列語句的效果相同:

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

註釋

DISCARD ALL 不能在事務塊內執行。

相容性

DISCARDPostgreSQL 的一個擴充套件。

提交更正

如果您在文件中發現任何不正確之處、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。