Saya menjalankan postgres (postgis) 9.4.2 di mac (10.10.4).
Saya punya beberapa meja besar (beberapa TB).
Selama pembuatan indeks berdasarkan salah satu dari mereka yang membutuhkan waktu sekitar satu minggu, saya menyaksikan penurunan ruang HD yang tersedia seperti yang Anda harapkan mendekati titik di mana indeks akan selesai ketika pemadaman listrik berlangsung lebih lama daripada unit baterai dan sistem turun. Saya memiliki buffer, dan fillfactor=100
selama pembangunan karena ini merupakan sumber data statis. Saat reboot, ruang yang tersedia yang tersisa di drive persis di mana ia berada di akhir indeks. Analisis vakum tidak membebaskan ruang.
Saya mencoba menjatuhkan meja dan menelan kembali, dan itu tidak menjatuhkan ruang. Sekarang saya berada di tempat di mana saya tidak memiliki cukup ruang untuk membangun indeks.
Apakah file yang dihasilkan selama pembangunan indeks terjebak dalam beberapa limbo di mana mereka tidak dapat dihapus oleh sistem karena cara mesin turun selama pemadaman listrik?
Ketika saya melihat ukuran tabel + indeks dalam db (yang merupakan satu-satunya data pada drive itu) mereka menambahkan hingga sekitar 6TB . Drive adalah 8TB , dan ada kurang dari 500GB yang tersisa di drive, jadi sepertinya ada sekitar 1.5TB yang hilang di suatu tempat yang kira-kira seukuran indeks.
Ada ide?
SELECT indexrelid::regclass, indrelid::regclass FROM pg_catalog.pg_index WHERE NOT indisvalid;
memberi Anda?
SELECT r.relname, r.relkind, n.nspname FROM pg_class r INNER JOIN pg_namespace n ON r.relnamespace = n.oid WHERE relkind = 'i';