自动清理

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 18. 服务器配置 | 下一页

# 18.10. 自动清理

这些设置控制自动清理的缺省行为。请参阅第 23.1.6 节获取更多信息。

`autovacuum` (`boolean`)

  控制服务器是否应该启动autovacuum守护进程。缺省是关闭的。然而， track_counts还必须启用自动清理工作。 这个选项只能在`postgresql.conf`文件里或者是服务器命令行中设置。

  请注意，即使禁用该参数，如果有必要避免事务ID重叠，系统仍将启动自动清理进程。 请参阅第 23.1.5 节获取更多详细信息。

`log_autovacuum_min_duration` (`integer`)

  如果它运行至少毫秒指定数，导致记录自动清理所执行的每个动作。 此设置为零记录所有自动清理操作。减一（默认）禁用日志记录 自动清理动作。例如，如果您将其设置为`250ms`， 那么将记录运行250ms或更长时间的所有自动清理和分析。 此外，当这个参数设置为除`-1`外的其他任何值， 如果由于冲突锁的存在而忽略自动清理操作，则记录这条消息。 启用此参数可以有益于跟踪自动清理活动。这个设置只能在`postgresql.conf` 文件或者服务器命令行上设置。

`autovacuum_max_workers` (`integer`)

  指定自动清理进程的最大数（除了自动清理发射器），它可以在任一时刻运行。 默认是三。这个参数只能在服务器启动时设置。

`autovacuum_naptime` (`integer`)

  声明运行在任何给定数据库上的autovacuum之间的最小延迟。在每次运行的周期里， 守护进程都会检查一个数据库， 并根据需要为该数据库的表发出`VACUUM`和`ANALYZE`命令。 这个延迟是以秒计的，缺省为1分钟(`1min`)。 这个选项只能在`postgresql.conf`文件里或者服务器命令行中设置。

`autovacuum_vacuum_threshold` (`integer`)

  声明在任何表里触发`VACUUM`所需最小的行更新或删除数量。缺省是500。 这个选项只能在`postgresql.conf`文件里或者服务器命令行中设置。 此处的设置可以被改变存储参数的独立的表覆盖。

`autovacuum_analyze_threshold` (`integer`)

  声明在任何表里触发`ANALYZE`所需最小的行插入、更新、删除数量。缺省是50。 这个选项只能在`postgresql.conf`文件里或者服务器命令行中设置。 此处的设置可以被改变存储参数的独立表覆盖。

`autovacuum_vacuum_scale_factor` (`floating point`)

  声明在判断是否触发一个`VACUUM`时增加到`autovacuum_vacuum_threshold` 参数里面的表尺寸的分数。 缺省是0.2(表大小的20%)。这个选项只能在`postgresql.conf`文件里或者服务器命令行中设置。 此处的设置可以被改变存储参数的独立表覆盖。

`autovacuum_analyze_scale_factor` (`floating point`)

  声明在判断是否触发一个`ANALYZE`时增加到`autovacuum_analyze_threshold` 参数里面的表尺寸的分数。缺省是0.1(表大小的10%)。 这个选项只能在`postgresql.conf`文件里或者服务器启动的时候设置。 此处的设置可以被改变存储参数的独立表覆盖。

`autovacuum_freeze_max_age` (`integer`)

  指定表的`pg_class`在事务中的最大寿命。`relfrozenxid`字段能够在强制 `VACUUM`操作以防止事务 ID在表内循环重复之前完成。需要注意的是，即使autovacuum被禁止系统也会调用 autovacuum 进程来防止循环重复。

  自动清理允许删除来自`pg_clog`子目录的旧文件， 默认值是相对低于200百万事务。该参数只能在服务器启动时设置， 但是此处的设置可以通过改变存储参数独立表减少。 更多信息请参见第 23.1.5 节。

`autovacuum_multixact_freeze_max_age` (`integer`)

  声明在这个表中的`VACUUM`操作被强迫阻止multixact ID wraparound 之前，`pg_class`.`relminmxid` 字段可以达到的最大寿命（以multixact计）。请注意， 系统将发送自动清理进程阻止wraparound，即使是禁用了自动清理。

  清理multixact也允许删除`pg_multixact/members`和 `pg_multixact/offsets`子目录中的老旧字段， 这也是multixact缺省是相当低的4亿的原因。这个参数只能在服务器启动的时候设置， 但是可以通过更改存储参数降低单个表的设置。更多信息请查阅 第 23.1.5.1 节。

`autovacuum_vacuum_cost_delay` (`integer`)

  声明将在自动`VACUUM`操作里使用的开销延迟数值。 声明-1将使用普通的vacuum_cost_delay数值。 缺省值是20毫秒。 这个选项只能在`postgresql.conf`文件里或者在服务器启动的时候设置。 此处的设置可以被改变存储参数的独立表覆盖。

`autovacuum_vacuum_cost_limit` (`integer`)

  声明将在自动`VACUUM`操作里使用的开销限制数值。 -1(缺省值)将使用普通的vacuum_cost_limit数值。 要注意的是值将按比例分配给运行autovacuum工作者， 如果有一个以上，这样每个工作者限制总和不会超过此变量的极限。 这个选项只能在`postgresql.conf`文件里或者在服务器启动的时候设置。 此处的设置可以通过改变存储参数独立表覆盖。

上一页 | 起始页 | 下一页
运行时统计 | 上一级 | 客户端连接缺省