This document explores the many indexing options available in Postgres, including traditional b-tree indexing, expression indexes, partial indexes, bitmap indexes, and non-b-tree index types like GIN, GIST, and SP-GIST. It discusses how to determine which index types support which data types and provides examples of how different index types are structured.