Trong PostgreSQL 9.2/PostGIS 2.0.2 Tôi đã có một chỉ mục trên một cột không gian, tạo ra vớiLàm thế nào để lực lượng thả chỉ số quan hệ trong postgresql?
CREATE INDEX tiger_data_sld_the_geom_gist ON tiger_data.sld USING gist(the_geom);
Sau đó giảm chỉ số với
DROP INDEX tiger_data_sld_the_geom_gist;
Nhưng bây giờ, khi tôi cố gắng để tái tạo, tôi gặp lỗi này:
# CREATE INDEX tiger_data_sld_the_geom_gist ON tiger_data.sld USING gist(the_geom);
ERROR: relation "tiger_data_sld_the_geom_gist" already exists
Rớt lại không hoạt động. Nó nói rằng chỉ số không tồn tại:
# DROP INDEX tiger_data_sld_the_geom_gist;
ERROR: index "tiger_data_sld_the_geom_gist" does not exist
tôi đã không tìm thấy mối quan hệ "tiger_data_sld_the_geom_gist" trong bất kỳ danh sách các đối tượng cơ sở dữ liệu, đã cố gắng DROP TABLE, và đã tìm kiếm xung quanh các giải pháp.
Mối quan hệ bí ẩn này "tiger_data_sld_the_geom_gist" là gì và làm cách nào để xóa nó để tôi có thể tạo chỉ mục?
Edit:
Cũng đã thử khởi động lại máy chủ, và bán phá giá/giảm/tải lại bảng (giảm với CASCADE).
Hãy thử một "SELECT * FROM pg_class" và xem những gì được liệt kê. Hãy thử nó có và không có điều kiện về relname, relnamespace và xem liệu việc sử dụng chỉ mục có tạo ra sự khác biệt hay không. –
Rất tiếc, tôi không thấy nhận xét của bạn trước khi đăng giải pháp của mình. Tôi tưởng tượng rằng việc thực hiện lệnh SELECT sẽ không tiết lộ manh mối ngay bây giờ, vì tôi đã xây dựng lại mọi thứ. – kentr