Hello.
Suppose I have the following index:
CREATE INDEX idx ON tbl USING btree (abc, def, id)
and perform the query with index scan:
SELECT md5(id)
FROM tbl
WHERE abc=1 AND def=2
LIMIT 200
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...
(Some time ago I have read something about this behaviour somewhere, but now cannot find it in the PostgreSQL documentation. Possibly it were words about another database, not Postges?)