PostgeSQL 9.3:停止 VACUUM FULL 是否安全?

Ada*_*tan 11 vacuum postgresql-9.3 amazon-rds

我在 RDS 上使用 PostgreSQL 9.3。偶尔,我会在数据库上运行VACUUM FULL操作。但是,这样的操作可能需要很长时间,并且会阻塞其他表,因此可能需要停止操作。

停止VACUUM FULL耗时太长的手术是否安全?

Sam*_*nen 11

是的,这是安全的。Vacuum full 会将表重新创建为新对象,并且只有在完成后才能使用它们。如果您取消它,则尚未使用的新文件将被删除,而旧文件将被保留。

当然,如果您通过终止处理真空的进程来取消它,则会留下文件,但数据库仍然完好无损。

  • 谢谢,这似乎很合理。您知道官方对此行为有任何提及吗?我在文档中找不到任何内容。 (2认同)
  • 没有什么具体的,通常他们会提到是否有问题。有一封来自 Tom Lane 的电子邮件提到,即使在 8 系列和 9 系列中,正常取消也不会成为问题,我认为它甚至不会成为问题。http://grokbase.com/t/postgresql/pgsql-general/10an6ffe3j/full-vacuum-cancelation (2认同)