PostgreSQL - 清除 Linux 机器上的空间

PostgreSQL - 清除 Linux 机器上的空间

如何在 CentOS 7 机器中删除我的 PostgreSQL 数据的所有存储记录?

之前我插入了 1000 万行数据,每行 12 列,但遇到了存储问题,所以我删除了包含 1000 万行数据的表。但删除这些表只释放了 11GB 的空间,我不确定删除表是否是 CentOS 7 系统上释放空间的正确方法。数据之前位于/dev/mapper/centos-root

df -h

在此处输入图片描述

pvs,,vgslvs

在此处输入图片描述

此外,我不明白为什么pvs系统vgs说我只有 4MB 的可用空间,而实际上df -h却说有 11GB 可用。

我是否通过删除数据库中的表正确地清除了空间?还是我应该采取一些更高级的方法?

答案1

我认为你可能需要VACUUM命令

https://www.postgresql.org/docs/9.5/static/sql-vacuum.html

VACUUM 可回收死元组占用的存储空间。在正常的 PostgreSQL 操作中,被更新删除或废弃的元组不会从其表中物理移除;它们会一直存在,直到 VACUUM 完成。因此,有必要定期执行 VACUUM,尤其是在频繁更新的表上。

相关内容