前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库PostrageSQL-自动清理

数据库PostrageSQL-自动清理

作者头像
cwl_java
发布2020-11-13 14:43:04
8390
发布2020-11-13 14:43:04
举报
文章被收录于专栏:cwl_Java

19.10. 自动清理

这些设置控制autovacuum特性的行为。详情请参考 Section 24.1.6。注意很多这些设置可以被针对每个表 的设置所覆盖,请见存储参数。

autovacuum (boolean) 控制服务器是否运行自动清理启动器后台进程。默认为开启, 不过要自动清理正常工作还需要启用track_counts。 该参数只能在postgresql.conf文件或服务器命令行中设置, 不过,通过更改表存储参数可以为表禁用自动清理。

注意即使该参数被禁用,系统也会在需要防止事务ID回卷时发起清理进程。详情请见Section 24.1.5。

log_autovacuum_min_duration (integer) 如果自动清理运行至少该值所指定的毫秒数,被自动清理执行的每一个动作都会被日志记录。 将该参数设置为0会记录所有的自动清理动作。-1(默认值)将禁用对自动清理动作的记录。 例如,如果你将它设置为250ms,则所有运行250ms或更长时间的 自动清理和分析将被记录。此外,当该参数被设置为除-1外的任何值时, 如果一个自动清理动作由于一个锁冲突或者被并发删除的关系而被跳过,将会为此记录一个消息。 开启这个参数对于追踪自动清理活动非常有用。这个参数只能在 postgresql.conf文件或者服务器命令行中设置。但是可以通过更改表的存储 参数为个别表覆盖这个设置。

autovacuum_max_workers (integer) 指定能同时运行的自动清理进程(除了自动清理启动器之外)的最大数量。默认值为3。该参数只能在服务器启动时设置。

autovacuum_naptime (integer) 指定自动清理在任意给定数据库上运行的最小延迟。在每一轮中后台进程检查数据库并根据需要为数据库中的表发出VACUUM和ANALYZE命令。延迟以秒计,且默认值为1分钟(1min)。该参数只能在postgresql.conf文件或在服务器命令行上设置。

autovacuum_vacuum_threshold (integer) 指定能在一个表上触发VACUUM的被插入、被更新或被删除元组的最小数量。默认值为50个元组。该参数只能在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) 指定在一个VACUUM操作被强制执行来防止表中事务ID回卷之前,一个表的pg_class.relfrozenxid域能保持的最大年龄(事务的)。注意即便自动清理被禁用,系统也将发起自动清理进程来阻止回卷。 清理也允许从pg_xact子目录中移除旧文件,这也是为什么默认值被设置为较低的2亿事务。该参数只能在服务器启动时设置,但是对于个别表可以通过修改表存储参数来降低该设置。详见Section 24.1.5。

autovacuum_multixact_freeze_max_age (integer) 指定在一个VACUUM操作被强制执行来防止表中多事务ID回卷之前,一个表的pg_class.relminmxid域能保持的最大年龄(多事务的)。注意即便自动清理被禁用,系统也将发起自动清理进程来阻止回卷。

清理多事务也允许从pg_multixact/memberspg_multixact/offsets子目录中移除旧文件,这也是为什么默认值被设置为较低的400万多事务。该参数只能在服务器启动时设置,但是对于个别表可以通过修改表存储参数来降低该设置。详见Section 24.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值。注意该值被按比例地分配到运行中的自动清理工作者上(如果有多个),因此每一个工作者的限制值之和不会超过这个变量中的值。该参数只能在postgresql.conf文件或在服务器命令中设置。但是对个别表可以通过修改表存储参数来覆盖该设置。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 19.10. 自动清理
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档