系统是带有Postgresql 9.3.9的FC21。该集群有6个数据库,在pgsql目录中使用38 GB的存储空间。最近删除了超过20GB的冗余数据。每个数据库都用真空吸尘器全部吸尘。命令两次,另外整个集群已使用vacuumdb -a命令进行了两次真空吸尘。一切顺利。 Postgresql已经停止并重新启动 为了验证,pg_dumpall命令会创建一个12GB的文件 删除了一个数据库中的所有表:
选择pg_size_pretty(pg_database_size(' db'));
显示剩余超过6GB。 如何恢复空间?必须做一个pg_restore来恢复空间似乎是不合理的。我已阅读并重新阅读恢复磁盘空间'文献。
答案 0 :(得分:0)
VACUUM
命令只会回收表文件末尾的空格。您需要VACUUM FULL
或vacuumdb -f
。
您可能还想考虑reindexdb
,因为所有这些行重写可能会使您的索引变得有点臃肿。