DISCARD

放弃会话状态。

概要

  1. DISCARD { ALL | PLANS | TEMPORARY | TEMP }

描述

DISCARD释放与数据库会话关联的内部资源。 此命令对于部分或全部重置会话状态很有用。 有几个子命令可以释放不同类型的资源。 DISCARD ALL变体包含所有其他变体,并且还重置其他状态。

参数

PLANS

释放所有缓存的查询计划,并在下一次使用关联的预编译语句时强制进行重新计划。

SEQUENCES

丢弃所有与缓存序列相关的状态,包括尚未由nextval()返回的任何预分配序列值。 (有关预分配序列值的描述,请参见CREATE SEQUENCE。)

TEMPORARY/TEMP

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

ALL

释放与当前会话关联的所有临时资源,并将会话重置为其初始状态。 当前,这与执行以下语句序列具有相同的效果:

  1. SET SESSION AUTHORIZATION DEFAULT;
  2. RESET ALL;
  3. DEALLOCATE ALL;
  4. CLOSE ALL;
  5. UNLISTEN *;
  6. SELECT pg_advisory_unlock_all();
  7. DISCARD PLANS;
  8. DISCARD SEQUENCES;
  9. DISCARD TEMP;

注解

DISCARD ALL不能在事务块内执行。

兼容性

DISCARD是Greenplum数据库扩展。

Parent topic: SQL Command Reference