DISCARD#
DISCARD
DISCARD — отказаться от состояния сессии
Синтаксис
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
Описание
DISCARD
освобождает внутренние ресурсы, связанные с сессией базы данных. Эта команда полезна для частичного или полного сброса состояния сессии. Есть несколько подкоманд для освобождения различных типов ресурсов; вариант DISCARD ALL
включает в себя все остальные и также сбрасывает дополнительное состояние.
Параметры
PLANS
Освобождает все кешированные планы запросов, принуждая повторное планирование произойти в следующий раз, когда будет использован связанный подготовленный оператор.
SEQUENCES
Сбрасывает все кешированные состояния, связанные с последовательностями, включая информацию о функциях
currval()
/lastval()
и любые предварительно выделенные значения последовательностей, которые еще не были возвращены функциейnextval()
. (См. CREATE SEQUENCE для описания предварительно выделенных значений последовательностей).TEMPORARY
orTEMP
Удаляет все временные таблицы, созданные в текущей сессии.
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
- это расширение Tantor BE.