登录
DISCARD
DISCARD — 丢弃会话状态
语法
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
描述
DISCARD
释放与数据库会话关联的内部资源。此命令可用于部分或完全重置会话状态。有几个子命令可用于释放不同类型的资源;DISCARD ALL
变体包含所有其他变体,并且还重置其他状态。
参数
PLANS
释放所有缓存的查询计划,强制在下一次使用关联的已准备语句时重新计划。
SEQUENCES
丢弃所有缓存的序列相关状态,包括
currval()
/lastval()
信息以及尚未由nextval()
返回的任何预分配的序列值。(有关预分配的序列值,请参见 CREATE SEQUENCE。)TEMPORARY
或TEMP
删除当前会话中创建的所有临时表。
全部
释放与当前会话关联的所有临时资源,并将会话重置为其初始状态。目前,这与执行以下语句序列的效果相同
CLOSE ALL; SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD TEMP; DISCARD SEQUENCES;
备注
DISCARD ALL
无法在事务块内执行。
兼容性
DISCARD
是PostgreSQL扩展。