DISCARD
DISCARD — очистить состояние сеанса
Синтаксис
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }Описание
DISCARD высвобождает внутренние ресурсы, связанные с сеансом использования базы данных. Эта команда полезна для частичного или полного сброса состояния сеанса. Для освобождения различных типов ресурсов она поддерживает несколько разных подкоманд; вариант DISCARD ALL включает в себя все остальные и также сбрасывает дополнительное состояние.
Параметры
PLANSВысвобождает все кешированные планы запросов, вынуждая сервер провести планирование заново при следующем использовании связанного подготовленного оператора.
SEQUENCESСбрасывает кешированное состояние, связанное с последовательностями, включая внутреннюю информацию
currval()/lastval()и любые предварительно выделенные значения последовательностей, которые ещё не выдала функцияnextval(). (Кеширование значений последовательности описано в CREATE SEQUENCE.)TEMPORARYилиTEMPУдаляет все временные таблицы, созданные в текущем сеансе.
ALLВысвобождает все временные ресурсы, связанные с текущим сеансом, и сбрасывает сеанс к начальному состоянию. В настоящее время действует так же, как и следующая последовательность операторов:
SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; CLOSE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD SEQUENCES; DISCARD TEMP;
Замечания
DISCARD ALL нельзя выполнять внутри блока транзакции.
Совместимость
DISCARD является расширением Postgres Pro.