↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / SQL 命令

DISCARD

丢弃会话状态

英文手册覆盖始于 PostgreSQL 6.4. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

anchor
SQL-DISCARD
file
sql-discard.html
lang
en
name
DISCARD
purpose
discard session state
purpose zh
未知
sections same as
未知
slug
18
synopsis html
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
synopsis text
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }

语法

DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
语法图

从左向右阅读;分支表示选择,旁路表示可选,循环表示重复。点击带下划线的参数可打开对应规则。

DISCARD ALL PLANS SEQUENCES TEMPORARY TEMP

版本定义 PG 18

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

比较版本

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · b7bd9cda

正文语言: zh-Hans · ca936764