No sistema gerenciador de banco de dados PostgreSQL, versão ...

Próximas questões
Com base no mesmo assunto
Q2510316 Banco de Dados
No sistema gerenciador de banco de dados PostgreSQL, versão 15, o comando TRUNCATE 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D

O comando TRUNCATE no PostgreSQL é uma operação utilizada para remover rapidamente todos os registros de uma tabela. Essa operação é diferente do comando DELETE não qualificado, que também remove todas as linhas de uma tabela, mas de uma maneira mais lenta.

A seguir, vamos justificar cada alternativa:

D - tem o mesmo efeito que um DELETE não qualificado em cada tabela; mas, como não examina efetivamente as tabelas, é mais rápido.

Essa é a alternativa correta. O comando TRUNCATE é significativamente mais rápido do que um DELETE não qualificado porque ele não individualiza a remoção de cada linha. Em vez disso, o TRUNCATE reconfigura a tabela de modo que pareça vazia, sem a necessidade de operações de remoção linha por linha.

Agora, vamos analisar por que as outras alternativas estão incorretas:

A - aciona triggers do tipo ON DELETE, caso existam, para a(s) tabela(s) truncada(s).

O comando TRUNCATE não aciona triggers ON DELETE. Triggers são chamadas automáticas de procedimentos armazenados que ocorrem em resposta a eventos no banco de dados. Como TRUNCATE não é tecnicamente uma operação de remoção linha por linha, triggers ON DELETE não são executadas.

B - reinicia, automaticamente, colunas do tipo sequências (sequences) da(s) tabela(s) truncada(s), por padrão.

Por padrão, o comando TRUNCATE não reinicia as sequências associadas às tabelas truncadas. Para isso, seria necessário usar a opção RESTART IDENTITY junto com o TRUNCATE para reiniciar as sequências.

C - não recupera, imediatamente, o espaço em disco, exigindo a execução do comando VACUUM posteriormente.

Esta alternativa está incorreta pois o comando TRUNCATE recupera imediatamente o espaço em disco ocupado pelas tabelas truncadas. Não há necessidade de executar o comando VACUUM posteriormente para liberar o espaço em disco.

Espero que esta explicação tenha esclarecido suas dúvidas sobre o comando TRUNCATE no PostgreSQL. Qualquer outra questão ou ponto que precise de mais detalhes, estou à disposição para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

letra D

pode ser dizer que o truncate é a mesma coisa que um delete from table, porem ele não vai fazer qualquer validação quanto a integridade e etc ou examinação na tabela, diferente do comando anterior

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo