Trong PostgreSQL 9.2, tôi không gặp vấn đề gì khi tạo chỉ mục có cả loại địa lý (postGIS) và số nguyên dưới dạng chỉ mục ghép. Nhưng bây giờ (9.6) nó phàn nàn về việc tạo chỉ mục và tôi không hiểu gợi ý mà nó đang cung cấp:
Các cột và dữ liệu đều được tạo đúng, Postgres đang phàn nàn về chỉ mục tạo.
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.
********** Error**********
ERROR: data type integer has no default operator class for access method "gist"
SQL state: 42704
Hint: You must specify an operator class for the index
or define a default operator class for the data type.
Định nghĩa lược đồ như sau:
- Table: portal.inventory
-- DROP TABLE portal.inventory;
CREATE TABLE portal.inventory
(
type character varying,
pid integer,
size bigint,
date timestamp without time zone,
path character varying,
outline geography(Polygon,4326)
)
WITH (
OIDS=FALSE
);
ALTER TABLE portal.inventory
OWNER TO postgres;
-- Index: portal.inventory_compound_idx
-- DROP INDEX portal.inventory_compound_idx;
CREATE INDEX inventory_compound_idx
ON portal.inventory
USING gist
(outline, pid);
-- Index: portal.inventory_icompound_idx
-- DROP INDEX portal.inventory_icompound_idx;
CREATE INDEX inventory_icompound_idx
ON portal.inventory
USING gist
(pid, outline);