Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — CESPE / CEBRASPE 2023

Banco de DadosPostgreSQL
Código
ce398075
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Cargo
Ana TI ( )

Imagem associada para resolução da questão

Considerando a figura precedente, que representa a arquitetura de um sistema de banco de dados PostgreSQL, julgue o item seguinte, acerca do processo de administração desse banco de dados.

 

O processo servidor de back-end é responsável por executar as consultas submetidas pelo cliente, realizando as etapas necessárias de execução de consulta e retornando ao processo postmaster, onde as consultas são analisadas, otimizadas e acumuladas em buffers de consultas e distribuídas ao cliente.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

Arquitetura do PostgreSQL: processos e fluxo de consultas

Gabarito: Errado. O item inverte a divisão de responsabilidades entre os processos do PostgreSQL: quem analisa, otimiza e executa a consulta é o processo servidor de back-end (o processo postgres), e não o postmaster, que atua apenas como supervisor, gerenciando conexões e processos. A descrição apresentada atribui ao postmaster funções que pertencem ao back-end, tornando a afirmação incorreta.

O PostgreSQL adota uma arquitetura cliente/servidor, na qual uma sessão é composta por processos cooperantes. O processo servidor, chamado postgres, é o responsável por gerenciar os arquivos do banco de dados, aceitar conexões e executar ações em nome dos clientes. Já o postmaster é o processo supervisor que gerencia o ciclo de vida do servidor, controlando a criação e a comunicação entre os processos back-end, mas não participa diretamente da análise, otimização ou execução das consultas.

O fluxo de uma consulta no PostgreSQL segue etapas bem definidas: o cliente envia a consulta ao servidor; o processo back-end a recebe, analisa (parse), otimiza e executa, acessando os dados e retornando o resultado ao cliente. O postmaster não acumula consultas em buffers nem as distribui ao cliente — essa é uma função do processo back-end, que mantém o resultado da consulta e o envia diretamente ao aplicativo cliente.

A pegadinha da questão está em atribuir ao postmaster funções que são do processo back-end. O candidato que conhece apenas superficialmente a arquitetura pode confundir os papéis, especialmente porque o postmaster é o processo que "aceita conexões", o que pode sugerir que ele também processa consultas. No entanto, a execução da consulta é sempre delegada a um processo back-end dedicado.

Para fixar: o postmaster é o "gerente" do servidor, enquanto o postgres (back-end) é o "trabalhador" que executa as consultas. Essa distinção é essencial para responder corretamente a questões sobre a arquitetura do PostgreSQL.

Arquitetura PostgreSQL
  • 1postmaster (supervisor)
    • Gerencia ciclo de vida do servidor
    • Controla processos back-end
    • Aceita conexões
    • Não analisa/otimiza consultas
  • 2postgres (back-end)
    • Recebe consulta do cliente
    • Analisa (parse)
    • Otimiza
    • Executa
    • Retorna resultado ao cliente
LEVEL · soulevel.com.br

Item — ❌ Errado

A afirmação está incorreta porque inverte os papéis dos processos. O processo servidor de back-end (postgres) é quem executa as consultas, realizando as etapas de análise, otimização e execução. O postmaster não analisa, otimiza nem acumula consultas em buffers; ele apenas gerencia o servidor e as conexões. O resultado da consulta é retornado diretamente ao cliente pelo processo back-end, não pelo postmaster.

Gabarito: Errado.

Link permanente: /questoes/ce398075