Questão de Banco de Dados — PostgreSQL — Quadrix 2026
Banco de Dados›PostgreSQL
Código
qa432967
Banca
Quadrix
Órgão
CRF PR
Ano
2026
Cargo
Ana ( )
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 o item a seguir.
O comando psql ‑U crf_admin ‑d crf_db < backup_crf.sql permite restaurar um backup lógico específico para um banco de dados já existente no PostgreSQL.
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”.
Restauração de backup lógico no PostgreSQL
Gabarito: CERTO. O comando psql -U crf_admin -d crf_db < backup_crf.sql é a forma correta de restaurar um backup lógico (arquivo de texto SQL gerado pelo pg_dump) em um banco de dados já existente, pois o psql executa os comandos SQL contidos no arquivo dentro do banco especificado pela opção -d. O pg_restore é o utilitário para restaurar backups no formato binário (custom/arquivo), enquanto o psql é o cliente interativo que processa scripts SQL — e é exatamente isso que um backup lógico em formato texto é.
O PostgreSQL oferece duas ferramentas principais para backup e restauração, e a confusão entre elas é o ponto central desta questão. O backup lógico é feito com o utilitário pg_dump, que gera um arquivo contendo comandos SQL (CREATE TABLE, INSERT, etc.) que, quando executados, recriam a estrutura e os dados do banco. Esse arquivo pode ser gerado em formato texto puro (o padrão) ou em formatos binários (custom, directory, tar). A restauração depende do formato do arquivo: se o backup foi gerado em formato texto (o padrão do pg_dump), a restauração é feita com o psql, que simplesmente executa os comandos SQL do arquivo. Se o backup foi gerado em formato binário (custom ou directory), a restauração é feita com o pg_restore, que oferece mais opções de seleção de objetos.
No comando apresentado, psql -U crf_admin -d crf_db < backup_crf.sql, temos: -U crf_admin especifica o usuário que se conecta ao banco, -d crf_db especifica o banco de dados de destino, e < backup_crf.sql redireciona o conteúdo do arquivo para a entrada padrão do psql. O psql lê o arquivo linha por linha e executa cada comando SQL. Isso restaura o backup lógico no banco crf_db, que deve já existir — o psql não cria bancos de dados; ele apenas executa comandos dentro de um banco existente. Para criar um banco novo, seria necessário usar o comando createdb ou o SQL CREATE DATABASE antes da restauração.
Um ponto importante: o backup lógico em formato texto não contém o comando CREATE DATABASE por padrão. O pg_dump gera comandos para recriar tabelas, dados, funções, etc., mas não o banco em si. Portanto, o banco de destino deve existir antes da restauração. Isso reforça que o comando apresentado restaura para um banco já existente, exatamente como afirma o enunciado.
A pegadinha que a banca explora é a troca entre psql e pg_restore. Muitos candidatos associam restauração apenas ao pg_restore, mas esse utilitário é específico para backups binários. Para backups em formato texto (o padrão do pg_dump), o psql é a ferramenta correta. Guarde a fronteira: backup texto → psql; backup binário → pg_restore. É exatamente nessa distinção que esta questão se decide.
1pg_dump gera backup lógico
2Formato texto (.sql)
3Restaura com psql
4Banco deve existir
LEVEL · soulevel.com.br
Item — ✅ CERTO
O comando psql -U crf_admin -d crf_db < backup_crf.sql está correto para restaurar um backup lógico em formato texto em um banco de dados já existente. O psql é o cliente interativo do PostgreSQL que executa scripts SQL; ao redirecionar o arquivo backup_crf.sql para sua entrada padrão, ele processa todos os comandos SQL contidos no arquivo dentro do banco crf_db. A opção -U crf_admin define o usuário de conexão, e -d crf_db define o banco de destino. Como o backup lógico em texto não inclui o comando CREATE DATABASE, o banco deve existir previamente — o que coincide com a afirmação do enunciado. O pg_restore seria necessário apenas se o backup estivesse em formato binário (custom, directory ou tar), o que não é o caso do arquivo .sql mencionado.