Questão de Banco de Dados — Backup em Banco de Dados — Quadrix 2026
Banco de Dados›Backup em Banco de Dados
Código
qg758544
Banca
Quadrix
Órgão
CRF-PR
Ano
2026
Nível
Superior
Cargo
Analista de Sistemas
O Conselho Regional de Farmácia do Estado do
Paraná (CRF‑PR) mantém um sistema corporativo que
armazena dados cadastrais de profissionais, registros de
empresas farmacêuticas, processos administrativos, multas
e informações financeiras. O ambiente utilizou PostgreSQL
em servidores Linux, com exigência de alta disponibilidade,
controle de acesso com base em papéis, auditoria de
operações sensíveis, rotinas de backup automatizadas e
otimização de desempenho para relatórios estatísticos
enviados ao Conselho Federal. A equipe de TI precisou
garantir a continuidade dos serviços, conformidade
com normas de proteção de dados e integridade das
informações institucionais.
Com base nessa situação hipotética, julgue os itens a seguir.
Utiliza‑se o comando pg_dumpall ‑U postgres > backup_crf.sql para realizar um backup lógico completo (global) do banco do CRF, incluindo funções, permissões e estruturas.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
Backup lógico global no PostgreSQL: pg_dumpall
Gabarito: CERTO (letra C). O comando pg_dumpall -U postgres > backup_crf.sql é exatamente a ferramenta correta para realizar um backup lógico completo e global de um cluster PostgreSQL, pois ele captura não apenas os dados de todos os bancos, mas também os objetos globais — como papéis (roles), permissões e tablespaces — que o pg_dump (voltado a um único banco) não abrange. A afirmação está tecnicamente precisa e alinhada à documentação oficial do PostgreSQL.
O PostgreSQL oferece duas ferramentas principais de backup lógico, e a distinção entre elas é o coração desta questão. O pg_dump é o utilitário para fazer backup de um único banco de dados específico. Ele gera um arquivo de script SQL (ou formato customizado) contendo os comandos necessários para recriar a estrutura (tabelas, funções, views, etc.) e os dados daquele banco. Porém, ele não captura objetos que são globais ao cluster, ou seja, que não pertencem a um banco específico, mas sim a todo o servidor PostgreSQL.
Já o pg_dumpall é o utilitário projetado para fazer backup de todo o cluster de bancos de dados. Ele é a ferramenta correta quando se deseja um backup "global", pois além de chamar internamente o pg_dump para cada banco existente, ele também exporta os objetos globais do cluster: os papéis (roles), que definem usuários e grupos, as permissões associadas a esses papéis, e os tablespaces. É por isso que o enunciado menciona "funções, permissões e estruturas" — exatamente o que o pg_dumpall captura e o pg_dump sozinho não conseguiria.
Na prática, o comando pg_dumpall -U postgres > backup_crf.sql funciona assim: o utilitário se conecta ao servidor PostgreSQL usando o usuário postgres (que, por ser superusuário, tem privilégios para ler todos os bancos e objetos globais), executa a coleta de todos os dados e objetos, e redireciona a saída (o script SQL resultante) para o arquivo backup_crf.sql. Esse arquivo conterá, em ordem, os comandos para recriar os papéis, os tablespaces, e depois cada banco de dados com suas respectivas estruturas e dados. Para restaurar, bastaria executar esse script com o psql.
A pegadinha que a banca poderia explorar (e que não está presente aqui, pois a afirmação está correta) seria trocar pg_dumpall por pg_dump, afirmando que este último faz backup global. O pg_dump é para um banco específico; o pg_dumpall é para o cluster inteiro, incluindo objetos globais. Guarde essa fronteira: pg_dump = um banco; pg_dumpall = todos os bancos + objetos globais (roles, permissões, tablespaces). É exatamente nessa distinção que a questão se apoia.
Backup lógico PostgreSQL
1pg_dump
Um único banco
Estrutura + dados
2pg_dumpall
Todos os bancos
Objetos globais
Roles (papéis)
Permissões
Tablespaces
LEVEL · soulevel.com.br
Item — ✅ CERTO ⟵ GABARITO
A afirmação está correta. O comando pg_dumpall -U postgres > backup_crf.sql é a forma adequada de realizar um backup lógico completo e global do cluster PostgreSQL do CRF-PR. O pg_dumpall é o utilitário específico para backup de todo o cluster, incluindo os objetos globais que o pg_dump não cobre. O enunciado menciona "funções, permissões e estruturas" — e é exatamente isso que o pg_dumpall captura além dos dados de cada banco: os papéis (roles), as permissões (grants) e os tablespaces. O redirecionamento > backup_crf.sql gera um arquivo de script SQL com todo o conteúdo, pronto para restauração. Não há erro técnico na afirmação.
PEGA ESSA DICA!
Para fixar de vez, monte o par na memória: pg_dump → backup de UM banco (estrutura + dados daquele banco); pg_dumpall → backup de TODOS os bancos + objetos globais (roles, permissões, tablespaces). Quando a questão falar em "backup global", "cluster inteiro", "roles" ou "permissões", a resposta é sempre pg_dumpall. Quando falar em "um banco específico", é pg_dump. Essa distinção é clássica em provas de PostgreSQL.