This series of posts traces the evolution from GIN to RUM to Extended RUM, showing how a single architectural idea—store more in the index to do less work at query time—unlocks major performance improvements at each step.
RUM was created by Alexander Korotkov, Oleg Bartunov, and Teodor Sigaev at Postgres Professional. It started as a direct response to the GIN limitations that users kept hitting in production — particularly in full-text search scenarios where ranking and ordering dominate query time.
The name is a nod: GIN (the drink) → RUM (a stronger drink). The index is stronger, too.
RUM's innovation is exactly one architectural change: each entry in a posting list can carry an additional datum alongside the TID:
GIN posting list entry: [TID]







