Questão nº 55
Questão de Informática/Banco de Dados · FGV MPMS 2012 (nº 55)
Assinale a alternativa que indica o comando do PostrgreSQL, versão 9.2, capaz de fazer uma cópia de segurança de todas as tabelas do esquema rio, que começam com a string emp com exceção da tabela rio.empregados_log.
- Apg_dump -t 'rio.emp*' -T rio.empregados_log meudb > bkpdb.sql (alternativa correta)
- Bpg_dump -nd 'rio.emp*' -t rio.empregados_log -f bkpdb.sql
- Cpg_dumpall -T 'rio.emp*' -x rio.empregados_log > dbsql.bkp
- Dpg_dump -R 'rio' -T '.emp' -t rio.empregados_log -f meudb.bkp
- Epg_dumpall -N 'rio.emp*' -t rio.empregados_log meudb -f bkpdb.sql
Resposta comentada
Gabarito Alternativa A
O comando `pg_dump` é a ferramenta padrão do PostgreSQL para criar cópias de segurança (backups) de um único banco de dados, permitindo selecionar ou excluir objetos específicos como tabelas e esquemas, inclusive usando padrões (wildcards).
(A) Correta: Esta alternativa utiliza `pg_dump` para o backup de um único banco de dados. O `-t 'rio.emp'` inclui todas as tabelas do esquema `rio` que começam com `emp`, usando o wildcard ``. O `-T rio.empregados_log` exclui especificamente a tabela `rio.empregados_log`. O `meudb` é o nome do banco de dados a ser copiado, e `> bkpdb.sql` redireciona a saída para um arquivo.
(B) Incorreta: A opção `-nd` não é um parâmetro válido para `pg_dump` com essa finalidade. Além disso, `-t rio.empregados_log` incluiria a tabela, quando o objetivo é excluí-la.
(C) Incorreta: `pg_dumpall` é usado para fazer backup de todos os bancos de dados de um cluster, não de tabelas específicas em um único banco de dados. As opções `-T` e `-x` não são usadas dessa forma com `pg_dumpall` para exclusão de tabelas.
(D) Incorreta: Esta é a alternativa mais tentadora. A opção `-R` não existe para `pg_dump`. O uso de `-T '.emp'` para exclusão não atende ao requisito de excluir apenas `rio.empregados_log`, e o `-t rio.empregados_log` está sendo usado para incluir a tabela que deveria ser excluída, invertendo a lógica das opções `-t` (include) e `-T` (exclude).
(E) Incorreta: `pg_dumpall` é o comando errado para esta tarefa. Além disso, as opções `-N` e `-t` não são válidas para `pg_dumpall` para seleção ou exclusão de tabelas específicas.
Fonte: FGV MPMS 2012 Analista - Informática/Banco de Dados. Reproduzida para fins de estudo.