Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2020

Banco de DadosPostgreSQL
Código
fc058939
Banca
FCC
Órgão
AL-AP
Ano
2020
Cargo
Analista Legislativo - Desenvolvedor de Banco de Dados
Todo processo de atualização aguda, que envolva tipos de dados de tamanho variável, tais como CHAR ou VARCHAR, com muita inclusão e exclusão de registros, acaba produzindo muita fragmentação do espaço em disco. Para contornar o problema, o SGBD PostgreSQL, em sua versão 8.2, recomenda executar com frequência, sobre as tabelas muito atualizadas, o seguinte comando:
  1. AANALYSE [Banco] [VERBOSE] [modo];
  2. BANALYSE [modo] [VERBOSE] [VACUUM] [tabela];
  3. CREWRITE [tabela] [VERBOSE] [modo];
  4. DREWRITE [banco] AFTER REINDEX [VERBOSE];
  5. EVACUUM [modo] [VERBOSE] [ANALYSE] [tabela];
Revelar gabarito e comentário

GabaritoE — VACUUM [modo] [VERBOSE] [ANALYSE] [tabela];

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: Comando VACUUM

Gabarito: letra E. O PostgreSQL recomenda executar periodicamente o comando VACUUM com a opção ANALYZE em tabelas com alta frequência de atualizações (inserções e exclusões) para recuperar o espaço ocupado por tuplas mortas e atualizar as estatísticas do planejador. A sintaxe correta é VACUUM [modo] [VERBOSE] [ANALYZE] [tabela].

A fragmentação de disco causada por operações em colunas de tamanho variável (CHAR, VARCHAR) é remediada pela limpeza de versões obsoletas de registros. O comando VACUUM remove essas tuplas mortas e, quando combinado com ANALYZE, também recalcula as estatísticas de distribuição dos dados — essencial para o otimizador de consultas.

  1. 1Fragmentação por tuplas mortas
  2. 2VACUUM recupera espaço
  3. 3ANALYZE atualiza estatísticas
  4. 4Otimizador de consultas
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Apresenta ANALYSE (grafia incorreta de ANALYZE) sem o comando VACUUM. Apenas analisar estatísticas não recupera espaço em disco.

Alternativa B — ❌ Incorreta

A ordem está invertida: o comando principal deve ser VACUUM, não ANALYSE. Além disso, a sintaxe ANALYSE ... VACUUM não é válida.

Alternativa C — ❌ Incorreta

REWRITE não é um comando do PostgreSQL para essa finalidade. Não há tal comando no SGBD.

Alternativa D — ❌ Incorreta

Novamente REWRITE é inválido. Além disso, a cláusula AFTER REINDEX não faz parte da sintaxe padrão.

Alternativa E — ✅ Correta ⟵ GABARITO

A sintaxe VACUUM [modo] [VERBOSE] [ANALYSE] [tabela] corresponde exatamente ao comando VACUUM ANALYZE (ou VACUUM VERBOSE ANALYZE tabela), que atende ao objetivo de recuperar espaço e atualizar estatísticas. O modo pode ser FULL ou FREEZE, e a opção VERBOSE exibe detalhes do processo.

Gabarito: letra E — comando VACUUM (com ANALYZE) para redução de fragmentação e manutenção de tabelas no PostgreSQL.

Link permanente: /questoes/fc058939