Saya punya TRUNCATE
meja besar (~ 120Gb) bernama files
:
TRUNCATE files;
VACUUM FULL files;
Ukuran tabel adalah 0, tetapi tidak ada ruang disk yang dirilis. Adakah cara untuk mendapatkan kembali ruang disk saya yang hilang?
UPDATE: Ruang disk dirilis setelah ~ 12 jam, tanpa ada tindakan di pihak saya. Saya menggunakan server Ubuntu 8.04.
postgresql
truncate
disk-space
Adam Matan
sumber
sumber
Jawaban:
Menurut komentar di sumber ,
truncate
buat file penyimpanan baru yang kosong, dan hapus file penyimpanan yang lama pada waktu komit. (Documents menyarankan "file penyimpanan" hanyalah file sejauh menyangkut OS, tapi saya mungkin salah paham tentang terminologi.)Karena tampaknya menghapus file, saya bisa membayangkan beberapa kasus di mana sistem operasi yang mendasarinya mungkin tidak segera membebaskan ruang itu. Saya membayangkan bahwa dalam beberapa kasus file penyimpanan mungkin berakhir di Keranjang Sampah di Windows, misalnya. Tetapi dalam kasus saya, memotong tabel di bawah PostgreSQL 9. sesuatu segera meningkatkan freespace di Windows.
Pemotongan juga dicatat dalam log WAL. Saya tidak tahu berapa banyak efek yang mungkin terjadi.
sumber