Léxico de TI › Bancos de dados › Read Committed

Read Committed

Bancos de dados Svenska → Atualizado: 2026-09-30

O nível de isolamento de transação mais comum (e o padrão do PostgreSQL). Uma consulta só enxerga dados que já tinham sido confirmados quando ela começou — nunca alterações inacabadas ("sujas") de outras transações. Mas consultas diferentes na mesma transação podem ver snapshots diferentes.

Garantias: sem leituras sujas (você nunca vê alterações não confirmadas de outra transação). Anomalias permitidas: leituras não repetíveis (rode o mesmo SELECT duas vezes → resultados diferentes se alguém confirmou algo no meio) e leituras fantasmas (aparecem linhas novas). No PostgreSQL: cada comando recebe um novo snapshot. Trade-off: alta concorrência e poucos locks, mas garantias de consistência mais fracas que Repeatable Read/Serializable. Armadilha clássica: "read-modify-write" sob Read Committed → atualizações perdidas se você não usar SELECT ... FOR UPDATE. Basta para a maioria das aplicações web; suba para Repeatable Read/Serializable quando a correção exigir. Nível abaixo: Read Uncommitted (permite leituras sujas, praticamente inexistente no Postgres).

← Voltar ao léxico