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.
2.2. Concepts
PostgreSQL is a relational database management system (RDBMS). That means it is a system for managing data stored in relations. Relation is essentially a mathematical term for table. The notion of storing data in tables is so commonplace today that it might seem inherently obvious, but there are a number of other ways of organizing databases. Files and directories on Unix-like operating systems form an example of a hierarchical database. A more modern development is the object-oriented database.
Each table is a named collection of rows. Each row of a given table has the same set of named columns, and each column is of a specific data type. Whereas columns have a fixed order in each row, it is important to remember that SQL does not guarantee the order of the rows within the table in any way (although they can be explicitly sorted for display).
Tables are grouped into databases, and a collection of databases managed by a single PostgreSQL server instance constitutes a database cluster.