Manfred Koizar <mkoi-pg@aon.at> writes:
> On Wed, 28 Apr 2004 07:35:41 +0100, "Gary Doades" <gpd@gpdnet.co.uk>
> wrote:
>> Why is there an entry in the index for a row if the row is not valid?
> Because whether a row is seen as valid or not lies in the eye of the
> transaction looking at it. Full visibility information is stored in the
> heap tuple header. The developers' consensus is that this overhead
> should not be in every index tuple.
Storing that information would at least double the overhead space used
for each index tuple. The resulting index bloat would significantly
slow index operations by requiring more I/O. So it's far from clear
that this would be a win, even for those who care only about select
speed.
regards, tom lane