DISCARD
DISCARD — очистить состояние сеанса
Синтаксис
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 является расширением Postgres Pro.
DISCARD
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
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 bynextval(). (See CREATE SEQUENCE for a description of preallocated sequence values.)TEMPORARYorTEMPDrops 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:
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 Postgres Pro extension.