PG 13新特性之索引并行vacuum

0    203    4

Tags:

👉 本文共约816个字,系统预计阅读时间或需4分钟。

简介

由于PostgreSQL的MVCC机制的原因,需要清理old/dead记录,这些动作由vacuum完成。

PostgreSQL 12为止,vacuum还是一个表一个表,一个索引一个索引的进行。有一系列针对自动vacuum的参数对其进行调优。但是只有一个参数autovacuum_max_workers对表并行vacuum进行调优,对于索引并行vacuum仍不支持。PostgreSQL 13即将改变这种现状。

通过帮助信息可以看到vacuum新增了一个选项:

通过新增的“PARALLEL”选项,告诉vacuum使用多少后台进程针对给定表并行vacuum索引[0表示禁止并行处理]。

前提条件:

  • 需要设置合适的MAX_PARALLEL_MAINTENANCE_WORKERS参数值,默认值为2
  • 需要该表上有多个index(即:一个parallel worker对应一个索引)
  • 需要该表的index的大小大于min_parallel_index_scan_size参数值,默认为512KB

vacuum的parallel 选项与full选项不能同时使用

测试

这表中有4个索引,如果指定4,则会有4个后台进程在这个表的索引上进行并行vacuum。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复