DROP TABLE — remove uma tabela
DROP TABLE [ IF EXISTS ] nome_da_tabela [, ...]
[ CASCADE | RESTRICT ]
O comando DROP TABLE remove tabelas do banco de
dados.
Somente o dono da tabela, o dono do esquema, e os superusuários
podem remover uma tabela.
Para esvaziar uma tabela sem destruí-la, deve ser usado
DELETE ou TRUNCATE.
O comando DROP TABLE sempre remove quaisquer
índices, regras, gatilhos e restrições existentes para a tabela de
destino.
Entretanto, para remover uma tabela referenciada por uma visão
ou restrição de chave estrangeira de outra tabela, deve ser
especificado CASCADE.
(CASCADE removerá totalmente uma visão dependente,
mas no caso da chave estrangeira removerá apenas a restrição da chave
estrangeira, e não a outra tabela inteiramente.)
IF EXISTSNão será relatado nenhum erro se a tabela não existir. É emitido um aviso neste caso.
nome_da_tabelaO nome (opcionalmente qualificado pelo esquema) da tabela a ser removida.
CASCADERemove automaticamente os objetos que dependem da tabela (como visões) e, por sua vez, todos os objetos que dependem desses objetos (veja Acompanhamento de dependência).
RESTRICTRecusa remover a tabela se algum objeto depender dela. Este é o comportamento padrão.
Para remover as tabelas films e
distributors:
DROP TABLE films, distributors;
Este comando está em conformidade com o padrão SQL,
exceto pelo padrão permitir ser removida apenas uma tabela por
comando, e também pela opção IF EXISTS, que é uma
extensão do PostgreSQL ao padrão.