No contexto do PostgreSQL, avalie se o comando TRUNCATE I. Inibe a ação dos triggers para DELETE associados à tabela durante a deleção dos registros (linhas); II. Requer o privilégio TRUNCATE; III. Permite “resetar” as colunas identificadoras para os valores originais por meio da cláusula RESTART IDENTITY; IV. Permite o truncamento ode várias tabelas numa única linha de comando. Assinale o número de características que são fidedignas ao funcionamento do PostgreSQL.
- A)Zero.
Errada, porque não é zero: as quatro afirmações descrevem corretamente o TRUNCATE no PostgreSQL.
- B)Uma.
Errada, porque não é apenas uma característica verdadeira; há quatro pontos corretos no enunciado.
- C)Duas.
Errada, porque não são duas características, e sim quatro.
- D)Três.
Errada, porque também não são três; todas as afirmações I a IV são verdadeiras.
- E)Quatro.
Certa, porque o TRUNCATE no PostgreSQL realmente inibe triggers de DELETE, exige privilégio TRUNCATE, aceita RESTART IDENTITY e pode truncar várias tabelas em uma única instrução.
Gabarito: E
No PostgreSQL, o comando TRUNCATE serve para esvaziar rapidamente uma tabela, sem fazer a remoção linha por linha como no DELETE. Isso importa porque, ao truncar, o banco não dispara os triggers de DELETE, justamente por não estar executando exclusão individual de registros. Além disso, o comando exige o privilégio específico TRUNCATE, então não basta ter permissões genéricas de escrita. Outro ponto clássico é o uso de RESTART IDENTITY: com essa cláusula, as colunas geradas por sequence, como identidades e auto incrementos, voltam ao valor inicial. Se você não quiser esse reset, pode usar CONTINUE IDENTITY. Ou seja, o comando não só limpa a tabela, como também pode “zerar” a numeração automática, se você pedir. Por fim, o TRUNCATE pode atingir mais de uma tabela na mesma instrução, o que é muito útil quando há tabelas relacionadas. No PostgreSQL, isso é previsto no manual e é uma das diferenças que costumam aparecer em prova. Então as quatro afirmações estão corretas, por isso o gabarito é E.