DISCARD — discard session state
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
DISCARD releases internal
resources associated with a database session. This command is
useful for partially or fully resetting the session's state.
There are several subcommands to release different types of
resources; the DISCARD ALL variant
subsumes all the others, and also resets additional state.
PLANSReleases all cached query plans, forcing re-planning to occur the next time the associated prepared statement is used.
SEQUENCESDiscards all cached sequence-related state, including
currval()/lastval() information and any
preallocated sequence values that have not yet been
returned by nextval(). (See
CREATE
SEQUENCE for a description of preallocated
sequence values.)
TEMPORARY or TEMPDrops all temporary tables created in the current session.
ALLReleases all temporary resources associated with the current session and resets the session to its initial state. Currently, this has the same effect as executing the following sequence of statements:
SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; CLOSE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD SEQUENCES; DISCARD TEMP;
DISCARD ALL cannot be executed
inside a transaction block.
DISCARD is a PostgreSQL extension.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.