支援的版本:目前 (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 的擴充功能。

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步釐清之處,請使用此表格回報文件問題。