许我们利用多个
CPU
来处理索引。 此功能称为
parallel vacuum
。要禁用此功能,可
以使用
PARALLEL
选项并将并行工作程序指定为零。
VACUUM FULL
将表的整个内容重写
到一个新的磁盘文件中,并且不包含额外的空间,这使得没有被使用的空间被还给操作系
统。这种形式的命令更慢并且在其被处理时要求在每个表上保持一个排他锁。
当选项列表被包围在圆括号中时,选项可以被写成任何顺序。如果没有圆括号,选项必须
严格按照上面所展示的顺序指定。
参数
FULL
选择“完全”清理,它可以收回更多空间,并且需要更长时间和表上的排他锁。这种方法还
需要额外的磁盘空间,因为它会创建该表的一个新拷贝,并且在操作完成之前都不会释放
旧的拷贝。通常这种方法只用于需要从表中收回数量庞大的空间时。
FREEZE
选择激进的元组“冻结”,指定
FREEZE
等价于参数
vacuum_freeze_min_age
和
vacuum_freeze_table_age
设置为
0
的
VACUUM
。当表被重写时总是会执行激进的冻
结,因此指定
FULL
时这个选项是多余的。
VERBOSE
为每个表打印一份详细的清理活动报告。
ANALYZE
更新优化器用以决定最有效执行一个查询的方法的统计信息。
DISABLE_PAGE_SKIPPING
通常,
VACUUM
将基于可见性映射跳过页面。已知所有元组都被冻结的页面总是会被跳过,
而那些所有元组对所有事务都可见的页面则可能会被跳过(除非执行的是激进的清理)。
此外,除非在执行激进的清理时,一些页面也可能会被跳过,这样可避免等待其他页面完
成对其使用。这个选项禁用所有的跳过页面的行为,其意图是只在可见性映射内容被怀疑
时使用,这种情况只有在硬件或者软件问题导致数据库损坏时才会发生。
SKIP_LOCKED
规定
VACUUM
在开始处理关系时不等待任何冲突锁被释放:如果关系不能立即锁定而不
等待,则跳过关系。请注意即使采用此选项,
VACUUM
在打开关系的索引时仍可能阻塞。
评论