IT-lexikon › Databas › XID-wraparound

XID-wraparound

Databas In English → Uppdaterad: 2026-07-29

PostgreSQL:s transaktions-ID är 32 bitar och räknar runt. Gör man inte av med gamla ID:n i tid stannar databasen och vägrar ta emot skrivningar.

Radsynligheten avgörs av om transaktionen som skapade raden ligger före eller efter din, men med en cirkulär räknare finns inget absolut före: hälften av rymden räknas som förflutet och hälften som framtid. Passerar en gammal rad tvåmiljardersgränsen skulle den plötsligt se ut att komma från framtiden och bli osynlig — därför fryses gamla rader av autovacuum, som markerar dem som permanent synliga. Går det ändå för långt börjar servern varna, och vid en miljon återstående ID:n stänger den ner skrivningarna och kräver ett vacuum i single-user-läge. Det är en av få kända orsaker till flera dygns oplanerat stopp hos annars välskötta Postgres-installationer.

← Tillbaka till lexikonet