Operator
Index Scan
PostgreSQL walks an index to find matching rows and then fetches them from the heap.
An Index Scan traverses an index (typically a B-tree) to find rows matching a predicate, then visits the heap to fetch the full row. It is fast when the predicate is highly selective and the index lookup avoids reading most of the table.
A related plan, Index Only Scan, can return results directly from the index without visiting the heap when every requested column is in the index and the visibility map says the heap pages are all-visible.
If you see a Seq Scan where you expected an Index Scan, check that the column is indexed, the predicate is sargable, and statistics are reasonably fresh — a stale pg_statistic can mislead the planner.