DISCARD — 丢弃会话状态
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
DISCARD
释放与数据库会话关联的内部资源。此命令可用于部分或完全重置会话的状态。有几个子命令可以释放不同类型的资源;DISCARD ALL
变体包含了所有其他命令,并且还会重置其他额外的状态。
PLANS
释放所有缓存的查询计划,强制在下次使用关联的准备语句时重新规划。
SEQUENCES
丢弃所有缓存的与序列相关的状态,包括 currval()
/lastval()
信息以及尚未由 nextval()
返回的任何预分配的序列值。(有关预分配序列值的描述,请参见 CREATE SEQUENCE。)
TEMPORARY
或 TEMP
删除当前会话中创建的所有临时表。
ALL
释放与当前会话关联的所有临时资源,并将会话重置为其初始状态。目前,这与执行以下一系列语句的效果相同:
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 的一个扩展。
如果您在文档中发现任何不正确之处、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。