On Sun, Dec 14, 2008 at 3:36 PM, David Rowley <dgrow...@gmail.com> wrote:
> 2008/12/14 Dmitry Koterov <dmi...@koterov.ru>: > > The question: if the table "tbl" scanned to fetch "id" and calculate > > md5(id), or the value of "id" is brought directly from "idx" index with > no > > table data access at all? The second behaviour is logical: why should we > > access the table if all the needed data is already in the index entry... > > In fact not all the required information is in the index. Postgresql > uses Multi-version-concurrency-control, which means there may be multi > versions of the same row. Postgresql must hit the heap (table) no get > the visibility information. > But isn't an index data is also multi-version? If no, how could a single-versioned index be used to fetch the data from a past snapshot?