PostgreSQL 9.2.3 में मैं इस सरलीकृत तालिका को बनाने की कोशिश कर रहा हूँ:
CREATE TABLE test (
user_id INTEGER,
startend TSTZRANGE,
EXCLUDE USING gist (user_id WITH =, startend WITH &&)
);
लेकिन मुझे यह त्रुटि मिली:
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.
PostgreSQL डॉक्स इस उदाहरण का उपयोग जो मेरे लिए काम नहीं करता है:
CREATE TABLE room_reservation (
room text,
during tsrange,
EXCLUDE USING gist (room WITH =, during WITH &&)
);
एक ही त्रुटि संदेश।
और यह एक , जो मेरे लिए भी काम नहीं करता है:
CREATE TABLE zoo (
cage INTEGER,
animal TEXT,
EXCLUDE USING gist (cage WITH =, animal WITH <>)
);
एक ही त्रुटि संदेश।
मैं बिना किसी समस्या के इसे बनाने में सक्षम हूं:
CREATE TABLE test (
user_id INTEGER,
startend TSTZRANGE,
EXCLUDE USING gist (startend WITH &&)
);
और इस:
CREATE TABLE test (
user_id INTEGER,
startend TSTZRANGE,
EXCLUDE USING btree (user_id WITH =)
);
मैंने यह जानने में काफी समय बिताया है कि इस काम को कैसे किया जाए, या यह पता नहीं चलेगा कि यह काम क्यों नहीं करेगा। कोई विचार?