# 丢弃
DISCARD — 丢弃会话状态
# 概要
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
# 描述
丢弃
释放与数据库会话关联的内部资源。此命令对于部分或完全重置会话状态很有用。有几个子命令可以释放不同类型的资源;这全部丢弃
变体包含所有其他状态,并且还重置其他状态。
# 参数
计划
释放所有缓存的查询计划,强制在下次使用关联的预准备语句时进行重新计划。
序列
丢弃所有缓存的序列相关状态,包括曲线()
/最后一个()
信息和任何尚未返回的预分配序列值下一个值()
.(看创建序列有关预分配序列值的描述。)
暂时的
或者温度
删除在当前会话中创建的所有临时表。
全部
释放与当前会话关联的所有临时资源并将会话重置为其初始状态。目前,这与执行以下语句序列具有相同的效果:
CLOSE ALL;
SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
DEALLOCATE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD TEMP;
DISCARD SEQUENCES;
# 笔记
全部丢弃
不能在事务块内执行。
# 兼容性
丢弃
是一个 PostgreSQL 扩展。