Ab PostgreSQL 8.3 ändert sich dieses Verhalten: Wenn ein UPDATE keine Spalten verändert, für die ein Index definiert ist oder die an der Definition eines partiellen oder funktionalen Index beteiligt sind, schreibt PostgreSQL 8.3 keinen neuen (redundanten, weil mit demselben Schlüssel) Indexeintrag. Nicht mehr jedem Datensatz in einer Versions-Historie ist immer genau ein Eintrag im Index zugeordnet, sondern möglicherweise einer ganzen Kette (update chain) von aktualisierten Datensätzen. Heap-Only-Tupels sind solche Datensätze, die keinen *eigenen* Eintrag im Index haben. Dies führt zu kleineren Indexen und damit zu schnelleren Suchergebnissen.