No PostgreSQL 12, o pg_restore é um utilitário para restaurar um banco de dados de um arquivo criado pelo pg_dump. Assinale a opção que apresenta o argumento que deve ser inserido, ao fazer uso desse utilitário via linha de comando, para criar o banco de dados de destino, caso ele não exista, antes de restaurar nele.
- A)--data-only
Errada, porque --data-only restaura apenas os dados, sem criar banco de destino nem mexer no esquema.
- B)--create
Certa, porque --create faz o pg_restore criar o banco de dados de destino antes de restaurar nele, se ele ainda não existir.
- C)--schema
Errada, porque --schema se relaciona à restauração de esquema, não à criação do banco de destino.
- D)--format
Errada, porque --format define o formato do arquivo de backup, não serve para criar o banco na restauração.
- E)--index
Errada, porque --index não é o argumento usado pelo pg_restore para criar o banco de dados de destino.
Gabarito: B
O pg_restore é o utilitário usado para restaurar backups feitos com o pg_dump em formatos que permitem esse tipo de operação. Entre as opções de linha de comando, existe um argumento específico para mandar o PostgreSQL criar o banco de dados de destino antes de começar a restauração, caso ele ainda não exista. Esse é o ponto central da questão: não basta restaurar os objetos, o comando pode também preparar o banco destino para você. No PostgreSQL 12, esse argumento é o --create. Com ele, o pg_restore emite comandos para criar o banco de dados de destino e, em seguida, conecta-se a ele para restaurar o conteúdo. É uma opção muito cobrada porque parece detalhe de ferramenta, mas na prática resolve uma etapa importante da administração do backup. As demais opções confundem funções diferentes. --data-only restaura só os dados, --schema trabalha com esquema, --format define o formato do dump e --index não é o argumento pedido aqui. Então, se a questão pergunta qual opção cria o banco de destino antes da restauração, o caminho é direto: o gabarito é a letra B. Vale lembrar que esses comandos fazem parte da documentação oficial do PostgreSQL, e a CESPE/CEBRASPE costuma explorar exatamente a finalidade de cada argumento, trocando uma função por outra para testar memória e atenção.