Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — VUNESP 2024

Banco de DadosPostgreSQL
Código
vu212047
Banca
VUNESP
Órgão
SPTrans
Ano
2024
Cargo
Ana Info ( )
Considerando o sistema gerenciador de bancos de dados PostgreSQL v. 14.4, o comando que executa a reconstrução de índices da base de dados é:
  1. AREASSING OWNED.
  2. BREVOKE.
  3. CREINDEX.
  4. DRELEASE SAVEPOINT.
  5. EROLLBACK.
Revelar gabarito e comentário

GabaritoC — REINDEX.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PostgreSQL: comandos de reconstrução de índices

Gabarito: letra C. O comando REINDEX é o utilitário do PostgreSQL responsável por reconstruir índices existentes, seja para corrigir corrupção, seja para reorganizar a estrutura física após muitas atualizações. Os demais comandos pertencem a outras categorias: REASSIGN OWNED e REVOKE lidam com permissões, enquanto RELEASE SAVEPOINT e ROLLBACK gerenciam transações.

O PostgreSQL oferece um conjunto de comandos administrativos que vão além do SQL padrão, e a banca explora exatamente essa distinção. Para entender a questão, é preciso separar os comandos por sua finalidade: manutenção de objetos, controle de permissões e controle de transações. O REINDEX se enquadra na primeira categoria, sendo usado para reconstruir índices de uma tabela ou de todo o banco de dados.

A reconstrução de índices é uma operação de manutenção importante. Com o tempo, índices podem ficar fragmentados ou corrompidos, especialmente após muitas operações de atualização e exclusão. O REINDEX recria o índice do zero, eliminando a fragmentação e restaurando a eficiência das consultas. No PostgreSQL, a sintaxe básica é REINDEX INDEX nome_do_indice; ou REINDEX TABLE nome_da_tabela; para reconstruir todos os índices de uma tabela, e REINDEX DATABASE nome_do_banco; para reconstruir todos os índices do banco.

É importante não confundir o REINDEX com o VACUUM. Enquanto o VACUUM recupera espaço ocupado por tuplas mortas (versões antigas de linhas atualizadas ou excluídas), o REINDEX reconstrói a estrutura do índice em si. Ambos são comandos de manutenção, mas atuam em aspectos diferentes: um na tabela, outro no índice.

A pegadinha desta questão está em reconhecer que os comandos das alternativas A, B, D e E pertencem a outras categorias, e não à manutenção de índices. O candidato que não conhece o REINDEX pode ser tentado a escolher um comando de transação, como ROLLBACK, por associar "reconstrução" a "desfazer". No entanto, a reconstrução de índices é uma operação de manutenção física, não de reversão de dados.

Guarde a classificação dos comandos: REINDEX é manutenção de objetos, REASSIGN OWNED e REVOKE são controle de permissões, e RELEASE SAVEPOINT e ROLLBACK são controle de transações. É essa fronteira que separa a alternativa correta das demais.

1Manutenção de objetos
REINDEX (reconstrói índices)
VACUUM (recupera espaço)
ANALYZE (estatísticas)
2Controle de permissões
GRANT
REVOKE
REASSIGN OWNED
3Controle de transações
BEGIN
COMMIT
ROLLBACK
SAVEPOINT
RELEASE SAVEPOINT
Comandos PostgreSQL
LEVELsoulevel.com.br
Comandos PostgreSQL: Manutenção de objetos (REINDEX (reconstrói índices), VACUUM (recupera espaço), ANALYZE (estatísticas)); Controle de permissões (GRANT, REVOKE, REASSIGN OWNED); Controle de transações (BEGIN, COMMIT, ROLLBACK, SAVEPOINT, RELEASE SAVEPOINT)

Alternativa A — ❌ Incorreta

O comando REASSIGN OWNED é utilizado para alterar a propriedade de objetos do banco de dados de um papel (role) para outro. Ele não tem relação com a reconstrução de índices. A banca incluiu essa alternativa para testar se o candidato conhece comandos de administração de permissões e propriedade.

Alternativa B — ❌ Incorreta

O comando REVOKE é usado para retirar privilégios de acesso concedidos anteriormente a um usuário ou papel. Ele faz parte do controle de permissões (DCL - Data Control Language), não da manutenção de índices. A confusão aqui seria associar "revogar" a "reconstruir", mas são operações completamente distintas.

Alternativa C — ✅ Correta ⟵ GABARITO

O comando REINDEX é exatamente o utilitário do PostgreSQL para reconstruir índices. Ele recria a estrutura do índice, eliminando fragmentação e corrigindo possíveis corrupções. É a ferramenta correta para a manutenção de índices no banco de dados.

Alternativa D — ❌ Incorreta

O comando RELEASE SAVEPOINT é utilizado para excluir um ponto de salvamento (savepoint) definido dentro de uma transação. Ele faz parte do controle de transações, permitindo liberar um ponto de restauração sem desfazer as alterações. Não tem relação com índices.

Alternativa E — ❌ Incorreta

O comando ROLLBACK é usado para desfazer todas as alterações feitas desde o início da transação ou desde um savepoint. Ele também pertence ao controle de transações. A banca pode tentar confundir o candidato, pois "reconstruir" pode ser associado a "reverter", mas são operações diferentes: ROLLBACK desfaz dados, REINDEX reconstrói índices.

PEGA ESSA DICA!

Para memorizar, agrupe os comandos por categoria: manutenção (REINDEX, VACUUM, ANALYZE), permissões (GRANT, REVOKE, REASSIGN OWNED) e transações (BEGIN, COMMIT, ROLLBACK, SAVEPOINT, RELEASE SAVEPOINT). Quando a questão perguntar sobre reconstrução de índices, a resposta será sempre REINDEX.

Gabarito: letra C

Link permanente: /questoes/vu212047