Analista em Gestão Municipal (Tecnologia da Informação)
O PostgreSQL, versão 15, suporta 4 níveis de isolamento de transações. Com relação níveis de isolamento e aos fenômenos que eles isolam.Em relação ao tema, assinale V para a afirmativa verdadeira e F para a falsa.( ) O nível de isolamento leitura sem compromisso permite a ocorrência de leitura fantasma.( ) O nível de isolamento leitura confirmada não admite leitura fantasma e anomalia de serialização.( ) O nível de isolamento mais rigoroso é o serializável, ele não permite a ocorrência de leitura suja, leitura não repetitível, leitura fantasma e anomalia de serialização.As afirmativas são, respectivamente,
AF – V – F.
BF – F – V.
CV – V – F.
DV – F – V.
EF – V – V.
Revelar gabarito e comentário▾
GabaritoD — V – F – V.
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”.
Níveis de Isolamento no PostgreSQL
Gabarito: letra D — V, F, V. O PostgreSQL 15 segue o padrão SQL/ANSI e oferece quatro níveis de isolamento. A primeira afirmativa é verdadeira: o nível leitura sem compromisso (read uncommitted) permite leitura fantasma. A segunda é falsa: leitura confirmada (read committed) não admite leitura suja, mas permite leitura fantasma e anomalias de serialização. A terceira é verdadeira: o nível serializável é o mais rigoroso e bloqueia todos os fenômenos indesejados (leitura suja, leitura não repetível, leitura fantasma e anomalia de serialização).
A banca cobra a associação entre os níveis e os fenômenos que cada um previne ou permite. A tabela abaixo resume:
Nível
Leitura suja
Leitura não repetível
Leitura fantasma
Anomalia de serialização
Read Uncommitted
Permite
Permite
Permite
Permite
Read Committed
Não permite
Permite
Permite
Permite
Repeatable Read
Não permite
Não permite
Permite (padrão) / Não permite (PG)
Permite
Serializable
Não permite
Não permite
Não permite
Não permite
PEGA ESSA DICA!
Memorize que o PostgreSQL trata o nível Repeatable Read como equivalente ao padrão SQL de mesmo nome, mas com proteção contra phantom reads. Já no padrão SQL, Repeatable Read permite phantom. Na prova, preste atenção se a questão menciona explicitamente a implementação do PostgreSQL ou o padrão ANSI. Para a banca FGV, a distinção mais cobrada é que read committed permite phantom, enquanto serializable não permite nenhum fenômeno.
Análise das afirmativas
1ª afirmativa — V (Verdadeira)
"O nível de isolamento leitura sem compromisso permite a ocorrência de leitura fantasma."
O nível read uncommitted é o mais baixo e permite todos os fenômenos: leitura suja, leitura não repetível e leitura fantasma. A afirmativa está correta.
2ª afirmativa — F (Falsa)
"O nível de isolamento leitura confirmada não admite leitura fantasma e anomalia de serialização."
O nível read committednão admite leitura suja, mas admite leitura fantasma e anomalias de serialização. Portanto, a afirmação é falsa ao dizer que não admite.
3ª afirmativa — V (Verdadeira)
"O nível de isolamento mais rigoroso é o serializável, ele não permite a ocorrência de leitura suja, leitura não repetitível, leitura fantasma e anomalia de serialização."
O nível serializable é o mais alto e previne todos os fenômenos listados, inclusive a anomalia de serialização (que ocorre quando a execução concorrente não é equivalente a nenhuma execução serial). Afirmativa correta.