Pular para o conteúdo principal

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

Banco de DadosPostgreSQL
Código
fc060819
Banca
FCC
Órgão
TJ-SC
Ano
2021
Cargo
Analista de Sistemas
No PostgreSQL, para fazer backup full de todo o cluster, incluindo schemas, bancos de dados, tabelas, templates, usuários e roles, assim como suas permissões, utiliza-se o comando cuja sintaxe está abaixo:<comando> -p <porta> -U <usuario> -h <host> -f <path/nome_arquivo_backup> Na sintaxe apresentada, <comando> refere-se à
  1. ASQL-dump.
  2. Bpg_dump.
  3. Cpsql.
  4. Dpg_dumpall.
  5. Epg_rmain.
Revelar gabarito e comentário

GabaritoD — pg_dumpall.

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: Backup completo do cluster

Gabarito: letra D. Para realizar um backup completo de todo o cluster PostgreSQL — incluindo todos os bancos de dados, schemas, tabelas, templates, usuários, roles e permissões — o comando correto é pg_dumpall. Diferentemente do pg_dump, que exporta apenas um único banco de dados, o pg_dumpall é a ferramenta projetada para despejar o cluster inteiro, incluindo objetos globais. A sintaxe apresentada (com -p, -U, -h, -f) é comum aos utilitários pg_dump e pg_dumpall, mas o contexto de "backup full de todo o cluster" aponta exclusivamente para o segundo.

Comando

Escopo do Backup

Inclui Objetos Globais (roles, tablespaces)?

Inclui Múltiplos Bancos?

Finalidade Principal

pg_dumpall

Cluster inteiro

Sim

Sim

Backup completo do cluster

pg_dump

Banco de dados único

Não

Não

Backup de um banco específico

psql

Nenhum (terminal interativo)

Não

Não

Execução de comandos SQL

SQL-dump

Nenhum (termo genérico)

N/A

N/A

Descrição do formato de saída

pg_rmain

Nenhum (comando inexistente)

N/A

N/A

Não se aplica

Backup PostgreSQL
  • 1Um banco
    • pg_dump
  • 2Cluster inteiro
    • pg_dumpall
      • Todos os bancos
      • Objetos globais (roles, tablespaces)
  • 3Terminal interativo
    • psql
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

"SQL-dump" não é um comando do PostgreSQL. É uma expressão genérica que descreve o conteúdo do arquivo de saída (um script SQL), mas não corresponde a nenhum executável do sistema.

Alternativa B — ❌ Incorreta

pg_dump é o utilitário para backup de um único banco de dados. Ele não exporta objetos globais (roles, tablespaces) nem outros bancos. Portanto, não atende à demanda de backup completo do cluster.

Alternativa C — ❌ Incorreta

psql é o terminal interativo do PostgreSQL, usado para execução de comandos SQL e administração, não para geração de backups. Não possui o comportamento de exportar dados.

Alternativa D — ✅ Correta ⟵ GABARITO

pg_dumpall é o comando oficial do PostgreSQL para realizar o backup de todo o cluster: todos os bancos de dados, objetos globais (roles, tablespaces) e, se solicitado, as permissões. Ele utiliza os mesmos parâmetros de conexão (-p, -U, -h) e direciona a saída para um arquivo (-f). Exatamente o que a sintaxe apresentada descreve.

Alternativa E — ❌ Incorreta

pg_rmain não é um comando existente no ecossistema PostgreSQL. Pode ser uma confusão com pg_rewind, pg_resetwal ou outro utilitário, mas nenhum deles é ferramenta de backup.

NÃO CAIA NESSA!

A banca explora a semelhança sintática entre pg_dump e pg_dumpall. Ambos aceitam -p, -U, -h, -f, mas o escopo é diferente: pg_dump para um banco, pg_dumpall para todo o cluster. O enunciado deixa claro que se trata de backup completo do cluster — então a escolha certa é pg_dumpall. Na prova, leia se a questão pede backup de "um banco" ou "todo o cluster"; se for de um banco apenas, pg_dump é a resposta.

Gabarito: letra D.

Link permanente: /questoes/fc060819