Fetching data from just indexes has been discussed on this list several times before, and it has been told that this can't be done with postgres thanks to MVCC.
But this is true only when data is changing. In a data-warehousing scenario what it is often needed is a possibility for fast querying of static historical data. If table has been VACUUM'ed or REINDEX'ed after last change (update/delete/insert), then there is 1-1 correspondence between table and indexes, and thus no need to fetch the tuple from heap for extra visibility checks. What I am proposing is 1) possibility to explicitly change table status to READ-ONLY . 2) setting a flag CAN_OMIT_HEAP_CHECK after REINDEX TABLE for tables that are READ-ONLY 3) changing postgres planner/executor to make use of this flag, by not going to heap for tuples on tables where CAN_OMIT_HEAP_CHECK is true. -- Hannu Krosing <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq