Tôi đang chạy postgres (postgis) 9.4.2 trên máy mac (10.10.4).
Tôi đã có một vài bàn lớn (vài TB).
Trong quá trình xây dựng chỉ mục trên một trong số đó mất khoảng một tuần, tôi đã xem sự sụt giảm không gian HD có sẵn như bạn mong đợi gần đến thời điểm chỉ số sẽ kết thúc khi mất điện kéo dài hơn đơn vị pin và hệ thống đi xuống. Tôi đã tắt bộ đệm và fillfactor=100
trong quá trình xây dựng vì đó là nguồn dữ liệu tĩnh. Khi khởi động lại, không gian còn trống trên ổ đĩa chính xác là nơi nó đã ở gần cuối của quá trình xây dựng chỉ mục. Phân tích chân không không giải phóng không gian.
Tôi đã thử thả bàn và ăn lại, và điều đó đã không làm rơi không gian. Bây giờ tôi đang ở một nơi mà tôi không có đủ không gian để xây dựng chỉ mục.
Có phải các tệp được tạo trong quá trình xây dựng chỉ mục bị kẹt trong một số limbo nơi hệ thống không thể bị xóa do hệ thống bị hỏng trong thời gian mất điện?
Khi tôi nhìn vào kích thước bảng + chỉ mục trong db (là dữ liệu duy nhất trên ổ đĩa đó), chúng thêm tối đa khoảng 6TB . Ổ đĩa có dung lượng 8TB và còn lại dưới 500 GB trên ổ đĩa, vì vậy có vẻ như đã mất khoảng 1,5TB ở đâu đó có kích thước tương đương với chỉ số.
Có ý kiến gì không?
SELECT indexrelid::regclass, indrelid::regclass FROM pg_catalog.pg_index WHERE NOT indisvalid;
cung cấp cho bạn?
SELECT r.relname, r.relkind, n.nspname FROM pg_class r INNER JOIN pg_namespace n ON r.relnamespace = n.oid WHERE relkind = 'i';