DISCARD — Annuler l'état de la session
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
DISCARD
libère les ressources internes associées avec une
session de la base de données. Ces ressources sont normalement libérées à la
fin de la session. Cette commande est intéressante pour réinitialiser l'état
de la session partiellement ou complètement. Il existe plusieurs sous-commandes
pour relâcher différents types de ressources. La variante DISCARD
ALL
comprend toutes les autres, et réinitialise aussi un état
supplémentaire.
PLANS
Supprime tous les plans de requête en cache, forçant une nouvelle planification la prochaine fois que la requête préparée est utilisée.
SEQUENCES
Supprime du cache l'état des séquences, ceci incluant les informations
currval()
/lastval()
ainsi que
toutes les valeurs préallouées des séquences, qui n'ont pas encore été
renvoyées par nextval()
.
(Voir CREATE SEQUENCE pour une description des
valeurs préallouées des séquences.)
TEMPORARY
or TEMP
Supprime toutes les tables temporaires créées dans la session actuelle.
ALL
Libère les ressources temporaires associées à cette session et réinitialise une session à son état d'origine. Actuellement, ceci a le même effet que la séquence d'instructions suivantes :
SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; CLOSE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD SEQUENCES; DISCARD TEMP;
DISCARD ALL
ne peut pas être utilisé dans un bloc de
transaction.
DISCARD
est une extension
PostgreSQL.