无法在postgresql中恢复磁盘空间



系统是带有Postgresql 9.3.9的FC21。集群有6个数据库,在pgsql目录中使用38 GB的存储空间。最近删除了超过20GB的冗余数据。每个数据库已经用"vacuum all"命令抽真空两次,此外,整个集群已经用vacuumdb-a命令抽真空了两次。全部运行成功。Postgresql已停止并重新启动
为了进行验证,pg_dumpall命令会创建一个12GB的文件
删除了一个数据库中的所有表:

选择pg_size_pretty(pg_database_size('db'));

显示剩余6GB以上。如何回收空间?必须执行pg_restore来恢复空间似乎是不合理的。我已经阅读并重新阅读了"恢复磁盘空间"文档。

VACUUM命令将只回收表文件末尾的空间。您将需要VACUUM FULLvacuumdb -f

您可能还需要考虑reindexdb,因为所有这些行重写可能会使索引有点臃肿。

最新更新