PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Creazione di un indice multicolonna in PostgreSQL, contenente colonne scalari e array

È necessario installare il modulo aggiuntivo btree_gin o btree_gist rispettivamente, che forniscono le classi di operatori mancanti.

Esegui una volta per database:

CREATE EXTENSION btree_gin;  -- or btree_gist

Quindi dovresti essere in grado di creare il tuo indice multicolonna:

CREATE INDEX idx1 ON "MyTable" USING gin
  ("Varchar_1", "Array_1", "Array_2", "Array_3", "Varchar_2");

Vedi:

Per quanto riguarda gli indici su array tipi:GIN è il tipo di indice perfetto per quelli. Il manuale:

Enfasi in grassetto mio.Gli operatori @> , <@ e && sono definiti per vari tipi di dati. Alcuni di loro collaborano anche con gli indici GiST. Ma con gli array come operandi, si tratta in genere di indici GIN. Vedi:

Il tipo di dati character molto probabilmente non ciò che vuoi. Vedi: