DISCARD

DISCARD — descarta o estado da sessão

Sinopse

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

Descrição

O comando DISCARD libera recursos internos associados a uma sessão de banco de dados. Este comando serve para redefinir parcial ou totalmente o estado da sessão. Existem vários subcomandos para liberar diferentes tipos de recursos; a variante DISCARD ALL inclui todas as outras, e também redefine a sessão para seu estado inicial.

Parâmetros

PLANS

Libera todos os planos de consulta em cache, forçando haver um replanejamento na próxima vez que a instrução preparada associada for usada.

SEQUENCES

Descarta todos os estados relacionados a sequências em cache, incluindo informações de currval()/lastval(), e quaisquer valores de sequência pré-alocados que ainda não foram retornados por nextval(). (Veja CREATE SEQUENCE para obter informações sobre valores de sequência pré-alocados.)

TEMPORARY ou TEMP

Descarta todas as tabelas temporárias criadas na sessão corrente.

ALL

Libera todos os recursos temporários associados à sessão corrente, e redefine a sessão para seu estado inicial. No momento, isto tem o mesmo efeito que executar a seguinte sequência de instruções:

CLOSE ALL;
SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
DEALLOCATE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD TEMP;
DISCARD SEQUENCES;

Notas

O comando DISCARD ALL não pode ser executado em um bloco de transação.

Conformidade

O comando DISCARD é uma extensão do PostgreSQL.