PostgreSQL的Vacuum由于以下原因需要定期执行。
- 释放,再利用因更新或者删除更新而占用的磁盘空间。
-
更新PostgreSQL 查询计划用的统计数据。
-
避免事务ID的重置而引起非常老的数据丢失。
VACUUM 的标准SQL文的执行和其他的对数据库的实际操作可以并行处理。 SELECT 、INSERT 、UPDATE 、DELETE 等命令和同通常一样继续能够执行。但是,VACUUM处理中的时候, ALTER TABLE ADD COLUMN等等的命令不能够对表进行重新定义。 还有,由于执行VACUUM 的时候,有大量的I/O操作,其他的操作可能性能比较低,比如查询的反应非常慢。为了较少对性能的影响,可以通过参数来调整。
-
autovacuum (boolean ):
-
数据库服务器是否设置为自动vacuum。默认为 自动vacuum。<