DISCARD
DISCARD
7
SQL - Language Statements
DISCARD
discard session state
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
Description
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.
Parameters
PLANS
Releases all cached query plans, forcing re-planning to occur
the next time the associated prepared statement is used.
SEQUENCES
Discards all cached sequence-related state,
including currval()/lastval()
information and any preallocated sequence values that have not
yet been returned by nextval().
(See for a description of
preallocated sequence values.)
TEMPORARY or TEMP
Drops all temporary tables created in the current session.
ALL
Releases 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:
CLOSE ALL;
SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
DEALLOCATE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD TEMP;
DISCARD SEQUENCES;
Notes
DISCARD ALL cannot be executed inside a transaction block.
Compatibility
DISCARD is a PostgreSQL extension.