IT-Lexikon › Datenbanken › MultiXact

MultiXact

Datenbanken Svenska → Aktualisiert: 2026-09-14

PostgreSQLs Konstrukt für den Fall, dass mehrere Transaktionen dieselbe Zeile gleichzeitig sperren müssen. Hat einen eigenen Zähler, der überlaufen kann — und das ist selten eine gute Nachricht.

Eine Zeile hat normalerweise ein Feld, das die Identität genau einer Transaktion enthält, die sie gelöscht oder gesperrt hat. Müssen zwei oder mehr Transaktionen gleichzeitig eine gemeinsame Sperre halten — genau das tun Fremdschlüsselprüfungen —, reicht das nicht mehr. Stattdessen wird eine MultiXact-ID gespeichert, die auf eine separate Struktur mit der Mitgliederliste verweist. Zwei praktische Risiken folgen daraus: Der Zähler ist zweiunddreißig Bit breit und hat eine eigene Freeze-Grenze unabhängig von Transaktions-IDs, mit derselben Abschaltung als Konsequenz, falls sie nicht rechtzeitig unterschritten wird. Und unter starker gleichzeitiger Last auf dieselben referenzierten Zeilen kann genau diese Struktur zum Flaschenhals werden — was zu Stockungen führt, die ohne Kenntnis dieses Mechanismus kaum zu verstehen sind.

← Zurück zum Lexikon