Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FGV 2025

Banco de DadosPostgreSQL
Código
fg169064
Banca
FGV
Órgão
TCE RR
Ano
2025
Cargo
AAD (TCE-RR)

Com o objetivo de instalar um sistema de banco de dados PostgreSQL no servidor de banco de dados db_server, o arquivo postgres-17.2.tar.bz2 foi obtido da página da internet https://www.postgresql.org/ftp/source e gravado no diretório raiz do servidor.

 

A seguir, os seguintes comandos foram executados pelo usuário tce_rr que possui perfil de administrador:

 

tce_rr@db_server ~ $ tar xf postgresql-17.2.tar.bz2

tce_rr@db_server ~ $ cd postgresql-17.2

tce_rr@db_server postgresql17.2 $ ./configure - -with- ssl=openssl

tce_rr@db_server ~ $ make

tce_rr@db_server postgresql17.2 $ su

root@db_server postgresql17.2 $ make install

root@db_server postgresql17.2 $ adduser postgres

root@db_server postgresql17.2 $ mkdir -p /usr/local/pgsql/data

root@db_server postgresql17.2 $ chown postgres /usr/local/pgsql/data

root@db_server postgresql17.2 $ su - postgres

postgres@db_server postgresql17.2 $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

postgres@db_server postgresql17.2 $ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile

postgres@db_server postgresql17.2 $ start

postgres@db_server postgresql17.2 $ /usr/local/pgsql/bin/createdb test

postgres@db_server postgresql17.2 $ /usr/local/pgsql/bin/psql test

 

Com relação a essa rotina de instalação, é correto afirmar que

  1. Aos arquivos de instalação obtidos após a descompactação do arquivo postgres-17.2.tar.bz2 foram gravados no diretório raiz.
  2. Btodos os arquivos foram instalados, incluindo a documentação e manuais.
  3. Ca versão instalada inclui apenas as bibliotecas de desenvolvimento de aplicações para usuários do tipo cliente.
  4. Dtestes do sistema operacional são realizados durante a execução do comando ./configure e os arquivos de log são gerados e armazenados na pasta postgresql17.2.
  5. Enão foi instalada a biblioteca para utilização de conexões remotas criptografadas do tipo Secure Sockets Layer.
Revelar gabarito e comentário

GabaritoA — os arquivos de instalação obtidos após a descompactação do arquivo postgres-17.2.tar.bz2 foram gravados no diretório raiz.

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”.

Instalação do PostgreSQL a partir do código-fonte

Gabarito: letra A. O comando tar xf postgresql-17.2.tar.bz2 descompacta o arquivo no diretório corrente, que é o diretório raiz do usuário tce_rr (indicado pelo prompt ~), e é exatamente isso que a alternativa A afirma. As demais alternativas contêm erros sobre o que a rotina de instalação faz: a documentação não é instalada por padrão, a instalação inclui o servidor e não apenas bibliotecas de cliente, o ./configure não gera logs de teste do sistema operacional, e a opção --with-ssl=openssl habilita justamente o suporte a conexões SSL.

A rotina descrita é a instalação clássica do PostgreSQL a partir do código-fonte, um processo que envolve várias etapas distintas. Primeiro, o arquivo compactado é descompactado com tar xf, que extrai os arquivos no diretório atual — no caso, o diretório raiz do usuário tce_rr, representado pelo símbolo ~ no prompt. Em seguida, o comando cd postgresql-17.2 muda para o diretório recém-criado, onde estão os fontes. O ./configure é um script que verifica o ambiente de compilação, detecta bibliotecas e dependências, e gera o Makefile com as opções escolhidas — aqui, --with-ssl=openssl habilita o suporte a conexões SSL/TLS. O make compila o código-fonte, gerando os binários. O make install (executado como root) copia os binários, bibliotecas e arquivos de suporte para os diretórios do sistema, como /usr/local/pgsql/bin. Depois, cria-se o usuário postgres, o diretório de dados, e executa-se o initdb para inicializar o cluster de banco de dados. Finalmente, pg_ctl start inicia o servidor, createdb test cria um banco de dados e psql test conecta a ele.

O ponto central para resolver a questão é entender o que cada comando faz e onde os arquivos são gravados. A alternativa A fala sobre a descompactação, que é o primeiro passo. O comando tar xf extrai o conteúdo do arquivo .tar.bz2 no diretório corrente. Como o prompt do usuário tce_rr é ~, que representa o diretório raiz (home) do usuário, os arquivos descompactados são gravados ali. Isso é um detalhe sutil: o tar não cria um subdiretório com o nome do arquivo, ele extrai os arquivos diretamente no diretório atual. Portanto, a afirmação de que os arquivos foram gravados no diretório raiz está correta.

A alternativa B afirma que todos os arquivos foram instalados, incluindo documentação e manuais. Isso é incorreto porque a instalação padrão do PostgreSQL a partir do código-fonte não instala a documentação completa (como os manuais em HTML ou PDF) — ela instala os binários, bibliotecas e arquivos de suporte necessários para o funcionamento do servidor. A documentação geralmente precisa ser instalada separadamente ou está disponível online. A alternativa C diz que a versão instalada inclui apenas bibliotecas de desenvolvimento para clientes, o que é falso, pois o make install instala o servidor completo, incluindo o binário postgres, o initdb, o pg_ctl, entre outros. A alternativa D afirma que o ./configure realiza testes do sistema operacional e gera logs na pasta postgresql17.2, o que não é verdade — o ./configure verifica o ambiente de compilação, mas não executa testes do sistema operacional nem gera logs nessa pasta. A alternativa E diz que não foi instalada a biblioteca para conexões SSL, mas o comando ./configure --with-ssl=openssl habilita exatamente esse suporte.

A pegadinha desta questão está em confundir o que cada etapa da instalação faz. O candidato pode achar que a documentação é instalada por padrão, ou que o ./configure faz testes, ou que a opção SSL não foi habilitada. A alternativa A é a única que descreve corretamente o efeito de um comando específico — a descompactação — e é por isso que ela é o gabarito.

  1. 1tar xf (descompacta no diretório atual)
  2. 2cd postgresql-17.2
  3. 3./configure --with-ssl=openssl
  4. 4make (compila)
  5. 5make install (instala como root)
  6. 6adduser postgres
  7. 7mkdir data + chown
  8. 8initdb + pg_ctl start
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

O comando tar xf postgresql-17.2.tar.bz2 descompacta o arquivo no diretório corrente. Como o prompt do usuário tce_rr é ~ (diretório raiz do usuário), os arquivos extraídos são gravados nesse diretório. O tar extrai o conteúdo diretamente no diretório atual, sem criar um subdiretório adicional. Portanto, a afirmação está correta.

Alternativa B — ❌ Incorreta

A instalação padrão do PostgreSQL a partir do código-fonte não inclui a documentação completa (manuais, HTML, etc.). O make install instala os binários, bibliotecas e arquivos de suporte, mas a documentação geralmente é distribuída separadamente ou está disponível online. A afirmação de que "todos os arquivos foram instalados, incluindo a documentação e manuais" é incorreta.

Alternativa C — ❌ Incorreta

A instalação inclui o servidor completo, não apenas bibliotecas de desenvolvimento para clientes. O make install instala o binário postgres (o servidor), o initdb, o pg_ctl, o psql, entre outros. A afirmação de que a versão instalada inclui apenas bibliotecas de desenvolvimento para clientes é falsa.

Alternativa D — ❌ Incorreta

O comando ./configure verifica o ambiente de compilação, detecta bibliotecas e dependências, e gera o Makefile. Ele não executa testes do sistema operacional nem gera arquivos de log na pasta postgresql17.2. A afirmação é incorreta.

Alternativa E — ❌ Incorreta

O comando ./configure --with-ssl=openssl habilita o suporte a conexões SSL/TLS. Portanto, a biblioteca para conexões remotas criptografadas do tipo Secure Sockets Layer FOI instalada. A afirmação de que não foi instalada é falsa.

Gabarito: letra A

Link permanente: /questoes/fg169064