Questão de Banco de Dados — PostgreSQL — CESPE / CEBRASPE 2023
Banco de Dados›PostgreSQL
Código
ce398075
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Cargo
Ana TI ( )
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.
CCerto
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.