Con*_*bil 4 postgresql performance postgresql-performance
我知道在表上执行 VACUUM FULL 将释放磁盘空间并将其返回给操作系统。
有几次我的操作系统(Windows)警告我它的磁盘空间不足。我的反应是迅速关闭我所能做的一切,并在其中一个更活跃的表上运行 VACUUM FULL。
我注意到 VACUUM FULL 似乎需要至少几百 MB 的空闲空间才能实际工作。如果我在只有 50 MB 的磁盘空间时尝试在 1GB 的表上执行 VACCUM FULL,那么这很快就会消失,我的计算机很快就会停止,而 VACUUM FULL 将无法工作。
当我知道有未使用的空间可用但没有足够的空间来运行 VACUUM 时,如何释放 POSTGRES 数据库中的操作系统空间?
(我知道正确的答案是——“不要傻到一开始就让它发生”,但 sh1t 偶尔会发生!)
执行 VACUUM 需要多少空间
最坏的情况pg_total_relation_size(table) * 2
。通常少很多,因为新表和索引明显更紧凑。
当我知道有未使用的空间可用但没有足够的空间来运行 VACUUM 时,如何释放 POSTGRES 数据库中的操作系统空间?
清理卷上不相关的文件。删除一些不需要的表或索引。将表或索引移动到其他存储上的其他表空间。扩大基础卷。
在不首先需要分配更多空间的情况下,并没有真正的好方法来将就地和可用空间压缩到操作系统。我想大多数人都同意这是一个缺陷,但似乎没有人足够关心以开发任何改进。
归档时间: |
|
查看次数: |
1611 次 |
最近记录: |