Léxico de TI › Bancos de dados › MultiXact

MultiXact

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

A construção do PostgreSQL para quando várias transações precisam travar a mesma linha ao mesmo tempo. Tem contador próprio que pode dar a volta, e isso raramente é boa notícia.

Uma linha tem um campo que normalmente guarda a identidade da transação que a apagou ou travou, uma só. Quando duas ou mais precisam segurar um lock compartilhado ao mesmo tempo, que é exatamente o que as checagens de chave estrangeira fazem, isso não basta. Guarda-se então um MultiXact ID, que aponta para uma estrutura separada com a lista de membros. Dois riscos práticos decorrem daí. O contador tem trinta e dois bits e tem seu próprio prazo de freeze, independente dos IDs de transação, com a mesma parada do banco como consequência se não for acompanhado. E, sob carga concorrente pesada nas mesmas linhas referenciadas, essa estrutura pode virar gargalo, causando travamentos quase impossíveis de entender sem saber que ela existe.

← Voltar ao léxico