DISCARD#
Примечание
Эта страница переведена при помощи нейросети GigaChat.
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 является расширением PostgreSQL.