Provided by: postgresql-client-16_16.6-0ubuntu0.24.04.1_amd64 bug

NAME

       DISCARD - discard session state

SYNOPSIS

       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 CREATE SEQUENCE (CREATE_SEQUENCE(7)) 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.