In PostgreSQL 9.2.3 Sto cercando di creare questa tabella semplificata:
CREATE TABLE test (
user_id INTEGER,
startend TSTZRANGE,
EXCLUDE USING gist (user_id WITH =, startend WITH &&)
);
Ma ottengo questo errore:
ERROR: data type integer has no default operator class for access method "gist" HINT: You must specify an operator class for the index or define a default operator class for the data type.
I documenti PostgreSQL usano questo esempio che non funziona per me:
CREATE TABLE room_reservation (
room text,
during tsrange,
EXCLUDE USING gist (room WITH =, during WITH &&)
);
Stesso messaggio di errore.
E questo , che non funziona neanche per me:
CREATE TABLE zoo (
cage INTEGER,
animal TEXT,
EXCLUDE USING gist (cage WITH =, animal WITH <>)
);
Stesso messaggio di errore.
Sono in grado di creare questo senza alcun problema:
CREATE TABLE test (
user_id INTEGER,
startend TSTZRANGE,
EXCLUDE USING gist (startend WITH &&)
);
e questo:
CREATE TABLE test (
user_id INTEGER,
startend TSTZRANGE,
EXCLUDE USING btree (user_id WITH =)
);
Ho trascorso un bel po 'di tempo a cercare suggerimenti su come far funzionare questo, o capire perché non funzionerà. Qualche idea?