DISCARD — descarta el estado de la sesión
DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
DISCARD libera recursos internos asociados con una
sesión de base de datos. Este comando es útil para restablecer
parcial o totalmente el estado de la sesión. Existen varios subcomandos para
liberar diferentes tipos de recursos; la variante DISCARD ALL
engloba a todas las demás y, además, restablece estados adicionales.
PLANSLibera todos los planes de consulta en caché, forzando la generación de un nuevo plan la próxima vez que se utilice la sentencia preparada asociada.
SEQUENCES
Descarta todo el estado en caché relacionado con secuencias,
incluyendo la información de currval()/lastval()
y cualquier valor de secuencia preasignado que aún no haya sido
devuelto por nextval().
(Consulta la CREATE SEQUENCE para obtener una descripción de los
valores de secuencia preasignados).
TEMPORARY o TEMPElimina todas las tablas temporales creadas en la sesión actual.
ALLLibera todos los recursos temporales asociados con la sesión actual y restablece la sesión a su estado inicial. Actualmente, esto tiene el mismo efecto que ejecutar la siguiente secuencia de sentencias:
CLOSE ALL; SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD TEMP; DISCARD SEQUENCES;
DISCARD ALL no se puede ejecutar dentro de un bloque de transacción.
DISCARD es una extensión de PostgreSQL.