En primer lugar, ¿necesita usarlos para la indexación de búsqueda de texto? GIN y GiST son índices especializados para algunos tipos de datos. Si necesita indexar caracteres simples o valores enteros, entonces el índice B-Tree normal es el mejor.
De todos modos, la documentación de PostgreSQL tiene un capítulo sobre GIST
y uno en GIN
, donde puede encontrar más información.
Y, por último, pero no menos importante, la mejor manera de encontrar cuál es la mejor es generar datos de muestra (tantos como necesite para ser un escenario real) y luego crear un índice GIST , midiendo cuánto tiempo se necesita para crear el índice, insertar un nuevo valor, ejecutar una consulta de muestra. Luego suelte el índice y haga lo mismo con un índice GIN. Compare los valores y obtendrá la respuesta que necesita, según sus datos.