Забележка: този отговор е остарял, тъй като сега е част от стандартен PostgreSQL, вижте другия отговор на tbussmann (за който трябва да гласувате).
Оригинален отговор:
Това може да стане с помощта на следния клас оператори:
CREATE OPERATOR CLASS _uuid_ops DEFAULT
FOR TYPE _uuid USING gin AS
OPERATOR 1 &&(anyarray, anyarray),
OPERATOR 2 @>(anyarray, anyarray),
OPERATOR 3 <@(anyarray, anyarray),
OPERATOR 4 =(anyarray, anyarray),
FUNCTION 1 uuid_cmp(uuid, uuid),
FUNCTION 2 ginarrayextract(anyarray, internal, internal),
FUNCTION 3 ginqueryarrayextract(anyarray, internal, smallint, internal, internal, internal, internal),
FUNCTION 4 ginarrayconsistent(internal, smallint, anyarray, integer, internal, internal, internal, internal),
STORAGE uuid;
Кредити за това за това, че ме насочи в правилната посока.
Съответната документация е в Разширения за интерфейс към индекси , по-специално стратегията на оператора и номерата на функциите за GIN са описани там.