Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

DISCARD

名称

DISCARD -- 丢弃会话状态

大纲

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在一个事务内部模块中不能被执行。

兼容性

DISCARD是一个PostgreSQL扩展。