Tôi sẽ chuyển từ mysql sang postgres và tôi đang gặp sự cố khi tạo chỉ mục.postgres tạo chỉ mục
TẠO INDEX chỉ định bảng BẬT SỬ DỤNG gist (point_col);
Đây là câu trả lời tôi nhận được trở lại:
LỖI: kiểu dữ liệu điểm không có lớp điều hành mặc định cho phương pháp truy cập "ý chính" GỢI Ý: Bạn phải xác định một lớp điều hành cho các chỉ số hoặc xác định một lớp điều hành mặc định cho kiểu dữ liệu.
Tôi đã thấy tôi cần chỉ định lớp toán tử cho chỉ mục, các lớp khác nhau có thể được sử dụng tùy thuộc vào loại toán tử bạn muốn sử dụng trên cột. Tôi muốn sử dụng @> hoặc ~ để tìm xem liệu một điểm có nằm trong đa giác hay không.
Làm cách nào để chỉ định lớp toán tử? giúp đỡ xin vui lòng có được một điều đơn giản nhưng tôi stumped!
EDIT
Dưới đây là một màn hình in của tôi cố gắng để thêm một chỉ số vào bảng chi nhánh:
Table "public.branch"
Column | Type | Modifiers
------------------+------------------+-----------------------------------------------------
id | integer | not null default nextval('branch_id_seq'::regclass)
name | character(120) |
center_point_lat | double precision |
center_point_lng | double precision |
center_point | point |
Indexes:
"branch_pkey" PRIMARY KEY, btree (id)
paul=# create index pt_idx on branch using gist (center_point);
ERROR: data type point 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.
đã chỉnh sửa câu hỏi của tôi hiển thị màn hình in và tôi đang cố thêm chỉ mục ... hãy cho tôi biết tôi đang ngu ngốc :) –
Đây có thể là phiên bản Postgresql của bạn. (Tôi đang chạy 9.1-beta, có bổ sung để lập chỉ mục, vì vậy đó có thể là lý do tại sao tôi không nhận được bất kỳ lỗi nào.) –
Điều đó có thể là tôi đang sử dụng 8.1.23 trên hệ thống Centos 5.5. Thực hiện cập nhật yum cho thấy tôi không thể cập nhật lên phiên bản postgres mới hơn .... :(, bất kỳ ý tưởng nào về cách nó đã được thực hiện với 8.1.23. Tôi không thể tìm thấy bất kỳ thông tin nào để thêm các lớp toán tử khi tạo chỉ mục hoặc thậm chí những cái tôi sẽ cần phải thực hiện tìm kiếm đa giác/điểm lol –