DISCARD

DISCARD — descarta el estado de la sesión

Synopsis

DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }

Descripción

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.

Parámetros

PLANS

Libera 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 TEMP

Elimina todas las tablas temporales creadas en la sesión actual.

ALL

Libera 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;

Notas

DISCARD ALL no se puede ejecutar dentro de un bloque de transacción.

Compatibilidad

DISCARD es una extensión de PostgreSQL.