Postgres understøtter B-tree, R-tree, Hash, GiST og GIN indekseringstyper. B-træindeksering er den mest almindelige og passer til de mest almindelige scenarier. Dette er syntaksen:
CREATE INDEX idex_name ON table_name USING btree(column1, column2);
Her er createindex dokumentation og her er mere info om forskellige indekstyper i postgres.
Hvilken type indeks du skal bruge afhænger af hvilke typer operationer du vil udføre. Hvis du blot vil have lighedskontrol, er hash-indeks det bedste. Til de fleste almindelige operationer (f.eks. sammenligning, mønstertilpasning) bør B-træ bruges. Jeg har personligt aldrig brugt GiST eller GIN indeksering. NOGEN guru derude?
Dokumentationen beskriver alle disse typer. De kan hjælpe dig bedre end mig :)
Håber dette hjælper.