Postgres10以降
btree_gist
データ型uuid
もカバーするようになりました 、ポールがコメントしました
。 (そして他のいくつかのデータ型、著しくすべてのenum
タイプ。)
これで、データベースごとに1回拡張機能をインストールするだけです。
CREATE EXTENSION btree_gist;
そうすれば、インデックスは正常に機能するはずです。
関連:
Postgres9.6以前
(元の回答。)
通常、追加のモジュール btree_gist
、ただし、タイプ uuid
ではありません それで覆われています。
理論的には、UUIDはa 128-bit quantity
であるため (ドキュメントごと
)、最も効率的な方法は、2つのbigint
に変換することです。 またはfloat8
インデックスの目的で。ただし、これらのキャストはいずれも標準のPostgresでは定義されていません。
この機能インデックスを利用するには、クエリがその式と一致する必要があります。省略形の
余談ですが、
問題は次のとおりです。理由 GiSTインデックスが必要ですか。最善の解決策は目的によって異なります。"value"::text
を使用できます クエリ内(ただし、括弧を追加せずにインデックス定義内にはありません)。value
は使用しないでください 列名としては、標準SQLで予約されている単語> 。