PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# DISCARD

## 名称

DISCARD -- 丢弃会话状态

## 大纲

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

## 描述

`DISCARD`释放与数据库会话相关的内部资源。 这个命令对于部分或全部的重设会话的状态是有用的。 有几个子命令释放不同类型的资源；`DISCARD ALL` 包含所有其他子命令，也重设额外的状态。

## 参数

`PLANS`

  释放所有缓存的查询计划，强制在下次使用相关准备好的语句时重新规划。

`SEQUENCES`

  丢弃所有缓存的序列相关的状态，包括`currval()`/`lastval()` 信息和任何至今还未通过`nextval()`返回的预先分配的序列值。 （参阅CREATE SEQUENCE获取预先分配的序列值的描述。）

`TEMPORARY` 或 `TEMP`

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

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

上一页 | 起始页 | 下一页
DELETE | 上一级 | DO