Questão de Banco de Dados — PostgreSQL — FCC 2021
- Código
- fc060819
- Banca
- FCC
- Órgão
- TJ-SC
- Ano
- 2021
- Cargo
- Analista de Sistemas
- ASQL-dump.
- Bpg_dump.
- Cpsql.
- Dpg_dumpall.
- Epg_rmain.
GabaritoD — pg_dumpall.
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 |
"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.
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.
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.
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.
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.
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