Questão de Banco de Dados — PostgreSQL — VUNESP 2025
Banco de Dados›PostgreSQL
Código
vu222887
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana CPDJ ( )
Considerando o sistema gerenciador de bancos de dados PostgreSQL 17.5, há um comando que executa a verificação da integridade do backup de uma base de dados. Esse comando é:
Apg_amcheck.
Bpg_isready.
Cpg_dumpall.
Dpg_ctl.
Epg_verifybackup.
Revelar gabarito e comentário▾
GabaritoE — pg_verifybackup.
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”.
Utilitários de verificação de backup no PostgreSQL
Gabarito: letra E. O comando que executa a verificação da integridade de um backup no PostgreSQL é o pg_verifybackup, que valida se os arquivos de um backup físico (gerado pelo pg_basebackup) estão íntegros e consistentes com o estado esperado. Os demais utilitários citados têm funções distintas: pg_amcheck verifica a integridade lógica das tabelas, pg_isready testa a disponibilidade do servidor, pg_dumpall faz backup lógico de todos os bancos e pg_ctl gerencia o ciclo de vida do servidor.
O pg_verifybackup é uma ferramenta introduzida no PostgreSQL 13, projetada especificamente para verificar a integridade de um backup físico. Ele trabalha em conjunto com o pg_basebackup, que é o utilitário padrão para criar backups físicos (cópias dos arquivos de dados). O pg_verifybackup analisa o diretório do backup, confere se todos os arquivos esperados estão presentes, valida os checksums (se estiverem habilitados) e compara com o arquivo backup_manifest, que contém a lista de arquivos e seus hashes. Isso garante que o backup não foi corrompido ou alterado durante o processo de cópia ou armazenamento.
A verificação de integridade é uma etapa crucial na estratégia de backup e recuperação (backup e recovery). Um backup corrompido pode passar despercebido até o momento em que for necessário restaurá-lo, resultando em perda de dados. O pg_verifybackup permite detectar problemas precocemente, antes que o backup seja arquivado ou transferido para outro local. Ele também pode ser usado para verificar backups em andamento, garantindo que o processo de cópia esteja produzindo um resultado íntegro.
É importante distinguir os dois tipos de verificação de integridade no PostgreSQL: a física (realizada pelo pg_verifybackup, que confere a estrutura dos arquivos) e a lógica (realizada pelo pg_amcheck, que verifica a consistência dos dados dentro das tabelas, como índices e constraints). Enquanto o pg_verifybackup valida o backup em si, o pg_amcheck valida o banco de dados em execução. A banca explora exatamente essa confusão: o candidato que conhece o pg_amcheck pode ser levado a marcá-lo, mas ele não é a ferramenta de verificação de backup.
Guarde a fronteira entre os utilitários: pg_verifybackup = verificação de backup físico; pg_amcheck = verificação de integridade lógica do banco; pg_isready = teste de conexão; pg_dumpall = backup lógico; pg_ctl = controle do servidor. É nessa distinção que as alternativas se dividem.
Utilitários PostgreSQL: Verificação de backup físico (pg_verifybackup, usa backup_manifest, valida checksums); Verificação lógica do banco (pg_amcheck, índices e constraints); Teste de conexão (pg_isready); Backup lógico (pg_dumpall); Controle do servidor (pg_ctl)
Alternativa A — ❌ Incorreta
O pg_amcheck é um utilitário que verifica a integridade lógica do banco de dados, como a consistência de índices e a validade das constraints. Ele opera sobre o banco em execução, não sobre um backup. A banca troca a função: enquanto o pg_verifybackup valida o backup físico, o pg_amcheck valida os dados do banco ativo. São ferramentas complementares, mas com propósitos distintos.
Alternativa B — ❌ Incorreta
O pg_isready é um utilitário que verifica a disponibilidade do servidor PostgreSQL, testando se ele está aceitando conexões. Ele não tem relação com backup ou integridade de dados. É usado para monitorar se o servidor está no ar, retornando um status de pronto ou não.
Alternativa C — ❌ Incorreta
O pg_dumpall é um utilitário de backup lógico que exporta todos os bancos de dados de um cluster, incluindo objetos globais como roles e tablespaces. Ele gera um arquivo de script SQL, mas não realiza verificação de integridade do backup. É uma ferramenta de criação de backup, não de validação.
Alternativa D — ❌ Incorreta
O pg_ctl é um utilitário de gerenciamento do servidor, usado para iniciar, parar, reiniciar e verificar o status do processo do PostgreSQL. Ele não tem função de backup ou verificação de integridade. É uma ferramenta administrativa de controle do ciclo de vida do servidor.
Alternativa E — ✅ Correta ⟵ GABARITO
O pg_verifybackup é o utilitário específico para verificar a integridade de um backup físico no PostgreSQL. Ele usa o arquivo backup_manifest gerado pelo pg_basebackup para conferir se todos os arquivos estão presentes e íntegros, validando os checksums. É a ferramenta correta para garantir que um backup está utilizável antes de ser restaurado.
NÃO CAIA NESSA!
A banca explora a confusão entre verificação de integridade lógica (do banco em execução) e física (do backup). O pg_amcheck verifica a integridade dos dados no banco ativo, enquanto o pg_verifybackup verifica a integridade do backup. O candidato que conhece o pg_amcheck pode marcá-lo por associação com "verificação de integridade", mas a questão pede especificamente a verificação do backup.
PEGA ESSA DICA!
Para memorizar, associe o prefixo: pg_verifybackup = verificar backup; pg_amcheck = "am" de "amcheck" (check de dados); pg_isready = "is ready?" (está pronto?); pg_dumpall = dump de tudo; pg_ctl = control (controle do servidor). Na prova, leia atentamente se a questão pede verificação de backup ou de dados.