Martijn van Oosterhout <kleptog@svana.org> writes:
> On Sat, Jan 15, 2005 at 07:10:48PM +0100, Bo Lorentsen wrote:
>> Hmm, so a data row update also update the CTID in all indexes, too. I=20
>> see what you mean !
> Not quite, a single index entry needs to point to any number of rows,
> which may or may not be visible depending on your transaction, so they
> form a sort of linked list.
No, an index entry contains just one CTID. An update makes a new
version of the row (stored at a new CTID location) and also makes new
index entries pointing at that CTID. In the general case this must be
so, since the new version might well contain different values for the
indexed fields; but we do not try to optimize the case where the indexed
field didn't change.
regards, tom lane