我犯了一个小错误,我的 VACUUM FULL 最终填满了实例的磁盘。我设法释放足够的空间来重新启动 postgres,但恐怕不足以运行 VACUUM FULL 来完成。
有什么方法可以释放失败的 VACUUM FULL 运行所使用的空间吗?
PS:这是我使用的选项VACUUM (FULL, VERBOSE, ANALYZE, INDEX_CLEANUP)
如果VACUUM (FULL)
失败,它所占用的所有磁盘空间将被释放。
该规则的例外情况是服务器在VACUUM (FULL)
运行时崩溃(如果磁盘空间不足,则可能会发生这种情况)。崩溃(和崩溃恢复)后,孤立的文件可能会留在磁盘上。没有简单的方法可以删除这些文件,而且您当然不能通过 SQL 来完成此操作。
如果您非常了解 PostgreSQL,您也许能够确定哪些文件可以安全删除,但如果删除了错误的文件,您将面临数据库最终损坏的风险。
我知道的唯一安全的方法是:
pg_dump
数据库
删除数据库并重新创建它(空)
从第一步恢复转储
归档时间: |
|
查看次数: |
1509 次 |
最近记录: |