🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

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