DISCARD
DISCARD — 抛弃会话状态
大纲
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
描述
DISCARD
释放与一个数据库会话相关的内部资源。
这个命令有助于部分或者完全重置该会话的状态。有几个子命令来
释放不同类型的资源。DISCARD ALL
变体把所有
其他形式都包含在内,并且还会重置额外的状态。
参数
PLANS
释放所有已缓存的查询计划,强制在下一次使用相关预备语句时 重新做计划。
SEQUENCES
丢弃所有已缓存的序列相关的状态,包括
currval()
/lastval()
信息 以及任何还未被nextval()
返回的预分配的 序列值(预分配序列值的描述请见 CREATE SEQUENCE);TEMPORARY
orTEMP
删除当前会话中创建的所有临时表。
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扩展。
文章转载自PostgreSQL全球开发组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。