选择 打开 改范围 完整检索页
受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10
当前 PostgreSQL 版本不在支持生命周期内。
您可以参阅当前版本的对应页面,或其他在上面列出的活跃大版本。

DISCARD

DISCARD — 丢弃会话状态

Synopsis

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

描述

DISCARD释放与数据库会话关联的内部资源。 该命令可用于部分或完全重置会话状态。 它提供了若干子命令,用于释放不同类型的资源; DISCARD ALL变体涵盖了其他所有子命令, 并且还会重置额外的状态。

参数

PLANS

释放所有缓存的查询计划,从而在下一次使用相关预备语句时强制重新规划。

SEQUENCES

丢弃所有缓存的序列相关状态,包括 currval()/lastval()信息, 以及所有尚未由nextval()返回的预分配序列值。 (关于预分配序列值的说明,请参见CREATE SEQUENCE。)

TEMPORARYTEMP

删除当前会话中创建的所有临时表。

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扩展。