真空满后释放内存?

Free memory after Vacuum full?

我的数据库服务器 运行 磁盘 space 即将用完。我从未执行过 vacuum full,我希望 vacuum full 能释放一些 space。

你之前有运行vacuum full吗,如果space被释放了,是多少?

physically vacuum full 复制 table 并销毁旧的。这导致了几个结论:

  • 如果您 space 能力不足,您可能无法 运行 它
  • 你释放的space与被删除的元组占用的一样多

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

This method also requires extra disk space, since it writes a new copy of the table and doesn't release the old copy until the operation is complete. Usually this should only be used when a significant amount of space needs to be reclaimed from within the table.

您可以通过获取数据的恢复副本来无间隙地找出数据的大小,例如pg_dump/pg_restore