Martijn van Oosterhout <kleptog@xxxxxxxxx> 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 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend