2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不受支持的版本: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 扩展。

提交更正

如果您在文档中发现任何不正确的内容、与您对特定功能的体验不符的内容或需要进一步澄清的内容,请使用 此表单 报告文档问题。