这些设置控制自动清理功能的行为。有关更多信息,请参阅第 24.1.6 节。请注意,许多这些设置可以在每个表的基础上被覆盖;请参阅存储参数。
autovacuum
(boolean
) #控制服务器是否应运行自动清理启动器守护进程。默认情况下启用;但是,还必须启用track_counts才能使自动清理工作。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来禁用单个表的自动清理。
请注意,即使禁用此参数,如果需要,系统也会启动自动清理进程以防止事务 ID 回卷。有关更多信息,请参阅第 24.1.5 节。
autovacuum_max_workers
(integer
) #指定在任何给定时间可以运行的最大自动清理进程数(自动清理启动器除外)。默认值为 3。此参数只能在服务器启动时设置。
autovacuum_naptime
(integer
) #指定在任何给定数据库上自动清理运行之间的最小延迟。在每一轮中,守护进程都会检查数据库,并根据需要在该数据库中发出VACUUM
和ANALYZE
命令。如果此值在没有单位的情况下指定,则将其视为秒。默认值为 1 分钟(1min
)。此参数只能在postgresql.conf
文件中或服务器命令行中设置。
autovacuum_vacuum_threshold
(integer
) #指定在任何一个表中触发VACUUM
所需的最小更新或删除元组数。默认值为 50 个元组。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_vacuum_insert_threshold
(integer
) #指定在任何一个表中触发VACUUM
所需的最小插入元组数。默认值为 1000 个元组。如果指定 -1,则自动清理不会根据插入次数触发任何表的VACUUM
操作。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_analyze_threshold
(integer
) #指定在任何一个表中触发ANALYZE
所需的最小插入、更新或删除元组数。默认值为 50 个元组。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_vacuum_scale_factor
(floating point
) #指定表大小的一部分,该部分将添加到autovacuum_vacuum_threshold
中,以决定是否触发VACUUM
。默认值为 0.2(表大小的 20%)。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_vacuum_insert_scale_factor
(floating point
) #指定表大小的一部分,该部分将添加到autovacuum_vacuum_insert_threshold
中,以决定是否触发VACUUM
。默认值为 0.2(表大小的 20%)。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_analyze_scale_factor
(floating point
) #指定表大小的一部分,该部分将添加到autovacuum_analyze_threshold
中,以决定是否触发ANALYZE
。默认值为 0.1(表大小的 10%)。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_freeze_max_age
(integer
) #指定表的pg_class
.relfrozenxid
字段在强制执行VACUUM
操作以防止表内事务 ID 回卷之前可以达到的最大年限(以事务数计)。请注意,即使在其他情况下禁用自动清理,系统也会启动自动清理进程以防止回卷。
清理还允许从pg_xact
子目录中删除旧文件,这就是为什么默认值为相对较低的 2 亿个事务的原因。此参数只能在服务器启动时设置,但是可以通过更改表存储参数来减少单个表的设置。有关更多信息,请参阅第 24.1.5 节。
autovacuum_multixact_freeze_max_age
(integer
) #指定表的pg_class
.relminmxid
字段在强制执行VACUUM
操作以防止表内多事务 ID 回卷之前可以达到的最大年限(以多事务数计)。请注意,即使在其他情况下禁用自动清理,系统也会启动自动清理进程以防止回卷。
清理多事务还允许从pg_multixact/members
和pg_multixact/offsets
子目录中删除旧文件,这就是为什么默认值为相对较低的 4 亿个多事务的原因。此参数只能在服务器启动时设置,但是可以通过更改表存储参数来减少单个表的设置。有关更多信息,请参阅第 24.1.5.1 节。
autovacuum_vacuum_cost_delay
(floating point
) #指定将在自动VACUUM
操作中使用的成本延迟值。如果指定 -1,则将使用常规vacuum_cost_delay值。如果此值在没有单位的情况下指定,则将其视为毫秒。默认值为 2 毫秒。此参数只能在postgresql.conf
文件中或服务器命令行中设置;但是,可以通过更改表存储参数来覆盖单个表的设置。
autovacuum_vacuum_cost_limit
(integer
) #指定将在自动 VACUUM
操作中使用的成本限制值。如果指定 -1(这是默认值),将使用常规的 vacuum_cost_limit 值。请注意,如果存在多个正在运行的自动清理工作进程,该值将在这些工作进程之间按比例分配,以确保每个工作进程的限制总和不超过此变量的值。此参数只能在 postgresql.conf
文件中或在服务器命令行上设置;但是,可以通过更改表存储参数来为单个表覆盖该设置。
如果您在文档中发现任何不正确、与您使用特定功能的经验不符或需要进一步澄清的地方,请使用此表单报告文档问题。