Senior
What index types are used in PostgreSQL besides B-tree?
sobes.tech AI
Answer from AI
In PostgreSQL, besides the standard B-tree index, which is used by default, there are several other types of indexes that are applied depending on the task:
- Hash — effective for equality operations but less versatile than B-tree.
- GIN (Generalized Inverted Index) — used for indexing arrays, JSONB, full-text search, and other complex structures.
- GiST (Generalized Search Tree) — suitable for geometric data, full-text search, and other cases where support for custom operators is needed.
- SP-GiST (Space-partitioned GiST) — for specific data structures, such as points in space, prefix trees.
- BRIN (Block Range Index) — effective for very large tables with natural data order, such as time series.
Example of creating a GIN index for a JSONB field:
CREATE INDEX idx_data_gin ON my_table USING GIN (data jsonb_path_ops);
The choice of index type depends on the nature of the data and queries.