PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Erstellen eines mehrspaltigen Index in PostgreSQL, der sowohl skalare als auch Array-Spalten enthält

Sie müssen das zusätzliche Modul btree_gin oder btree_gist bzw. die die fehlenden Operatorklassen bereitstellen.

Einmal pro Datenbank ausführen:

CREATE EXTENSION btree_gin;  -- or btree_gist

Dann sollten Sie in der Lage sein, Ihren mehrspaltigen Index zu erstellen:

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

Siehe:

Wie für Indizes auf Array Typen:GIN ist der perfekte Indextyp für diese. Das Handbuch:

Fettdruck von mir. Die Operatoren @> , <@ und && sind für verschiedene Datentypen definiert. Einige von ihnen kooperieren auch mit GiST-Indizes. Aber mit Arrays als Operanden sind es typischerweise GIN-Indizes. Siehe:

Der Datentyp Zeichen ist höchstwahrscheinlich nicht was du willst. Siehe: