我正在编写数据整理脚本(python 和 bash),以整理数据并将大量文本文件导入数据库。
我目前处于测试阶段,所以我正在生成几个 K 的文件并删除它们(这些文件占用了大约 20G 的空间)。测试运行后,我会删除这些文件(有时没有导入数据库)。
我注意到我的磁盘上的可用空间量在稳步减少(如 所示df -h
)。我不明白为什么会这样,因为我使用 rm *(在数据目录中),并且在使用 Nautilus 的情况下,我也会清空垃圾箱。
类似地,我注意到,当我将数据导入(postgresql)数据库,然后使用从表中删除数据时DELETE FROM tablename;
,postgresql 数据目录中消耗的大小也不会下降。
目前,我已经丢失了大约 200G 的硬盘,我需要恢复这些空间 - 但不知道该怎么做 - 有什么想法吗?
我正在运行 Ubuntu 10.0.4 LTS + postgresql 8.4
[[更新]]
du -c / | 2>/dev/null | grep total
产生以下输出:
4 /usr/src/linux-headers-2.6.32-38-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-41-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-36-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-30-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-35-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-31-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-27-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-28-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-40-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-34-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-37-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-33-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-39-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-29-generic/include/config/mtdram/total
4 /usr/src/linux-headers-2.6.32-32-generic/include/config/mtdram/total
187426036 total
df -hi
产生以下输出:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 29M 1.8M 27M 7% /
none 491K 776 490K 1% /dev
none 492K 6 492K 1% /dev/shm
none 492K 76 492K 1% /var/run
none 492K 2 492K 1% /var/lock
none 492K 1 492K 1% /lib/init/rw
/dev/sdb1 30M 3.0K 30M 1% /mydata
/dev/sdc1 0 0 0 - /media/Cruzer
答案1
du -c / | grep total
请显示和的输出df -hi
以判断空格去了哪里。另外,请参阅这篇关于刷新 Postgresql 缓存。
编辑:您可能需要清理并重新索引数据库,或者转储并恢复。许多DELETE
操作的大小增加是 Postgresql 的一个特性,而不是错误。看这里。