Questão de Banco de Dados — PostgreSQL — CESPE / CEBRASPE 2023
Banco de Dados›PostgreSQL
Código
ce154142
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Nível
Médio
Cargo
Analista de Tecnologia da Informação - Perfil: Sustentação Tecnológica
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 consulta
Gabarito: Errado (E). O item inverte o fluxo real da arquitetura cliente/servidor do PostgreSQL: quem analisa, otimiza e executa a consulta é o processo servidor de back-end (o programa postgres), e não o postmaster, que atua apenas como supervisor de conexões. A descrição apresentada mistura as responsabilidades dos processos, atribuindo ao postmaster funções que pertencem ao servidor de back-end.
O PostgreSQL adota um modelo cliente/servidor, no qual uma sessão é composta por processos cooperantes: o processo servidor (back-end), que gerencia os arquivos do banco, aceita conexões e executa ações em nome dos clientes, e o aplicativo cliente (front-end), que envia as consultas. O programa do servidor é chamado postgres. O postmaster é o processo supervisor que gerencia as conexões, mas não executa consultas — ele apenas aceita a conexão e delega o trabalho a um processo filho (back-end).
Na prática, quando um cliente envia uma consulta, o postmaster aceita a conexão e cria um processo servidor dedicado. Esse processo back-end é quem recebe a consulta, realiza a análise sintática, a otimização, a execução e retorna o resultado diretamente ao cliente. O postmaster não participa da execução nem do retorno dos dados — ele permanece apenas como supervisor, aguardando novas conexões.
A pegadinha da banca está em atribuir ao postmaster funções que são do back-end, como analisar, otimizar e acumular consultas em buffers. O candidato que conhece apenas superficialmente a arquitetura pode confundir os papéis, mas a distinção é clara: o postmaster é o "porteiro" que recebe as conexões, enquanto o back-end é o "funcionário" que executa o trabalho.
Guarde essa fronteira: postmaster = gerencia conexões; back-end = executa consultas. É exatamente nela que o item se divide — a descrição do enunciado mistura os dois papéis, tornando a afirmação incorreta.
Processo
Função principal
Participa da execução de consultas?
Retorna resultado ao cliente?
Postmaster
Supervisor de conexões
Não
Não
Back-end (postgres)
Analisa, otimiza e executa consultas
Sim
Sim
1Cliente envia consulta
2Postmaster aceita conexão
3Cria processo back-end
4Back-end analisa e otimiza
5Back-end executa consulta
6Retorna resultado ao cliente
LEVEL · soulevel.com.br
Item — ❌ Errado
O item afirma que o processo servidor de back-end executa as consultas, mas que as consultas são analisadas, otimizadas e acumuladas em buffers pelo postmaster, que as distribui ao cliente. Isso está errado por dois motivos:
Quem analisa, otimiza e executa é o back-end: o processo servidor (postgres) é responsável por receber a consulta do cliente, realizar a análise sintática, a otimização do plano de execução e a execução propriamente dita. O postmaster não participa dessa cadeia.
O postmaster não distribui resultados: o back-end retorna o resultado diretamente ao cliente, sem passar pelo postmaster. O postmaster apenas aceita a conexão inicial e delega o trabalho ao processo filho.
A descrição correta seria: o cliente envia a consulta ao postmaster, que aceita a conexão e cria um processo back-end; esse processo analisa, otimiza, executa e retorna o resultado diretamente ao cliente. O item inverte os papéis, atribuindo ao postmaster funções que são do back-end.
NÃO CAIA NESSA!
A banca inverte os papéis dos processos: atribui ao postmaster (supervisor de conexões) as funções de análise, otimização e distribuição de consultas, que na verdade pertencem ao processo servidor de back-end. O candidato que decora apenas os nomes dos processos sem entender a divisão de trabalho cai na armadilha. Lembre-se: o postmaster é o "porteiro" que recebe as conexões; o back-end é o "funcionário" que executa o trabalho.