PG中文社区 /

Postgres 12 highlight - SKIP_LOCKED for VACUUM and

原作者:刘海龙  创作时间:2019-03-09 10:35:02+08
redraiment 发布于2019-03-09 10:35:02           评论: 4   浏览: 5978   顶: 744  踩: 726 

转自“飞象数据”

原文地址:https://paquier.xyz/tag/lock

下面的提交已经被整合进Postgres12版本里了,添加了一个新的选项来使用VACUUM和ANALYZE

commit: 803b1301e8c9aac478abeec62824a5d09664ffff

author: Michael Paquier <michael@paquier.xyz>

date: Thu, 4 Oct 2018 09:00:33 +0900

Add option SKIP_LOCKED to VACUUM and ANALYZE
​


When specified, this option allows VACUUM to skip the work on a relation

if there is a conflicting lock on it when trying to open it at the

beginning of its processing.


​
Similarly to autovacuum, this comes with a couple of limitations while

the relation is processed which can cause the process to still block:

- when opening the relation indexes.

- when acquiring row samples for table
inheritance trees, partition trees

or certain types of foreign tables, and that a lock is taken on some

leaves of such trees.
​


Author: Nathan Bossart

Reviewed-by: Michael Paquier, Andres Freund, Masahiko Sawada

Discussion: https://postgr.es/m/9EF7EBE4-720D-4CF1-9D0E-4403D7E92990@amazon.com

Discussion: https://postgr.es/m/20171201160907.27110.74730@wrigleys.postgresql.org

Postgres 11已经扩展了VACUUM,因此可以在单次查询中指定多张表,每次处理一张表。但是当VACUUM卡在一张表上很长时间,由于表被锁或者别的原因时,应由触发VACUUM的应用层仔细查看并解除阻塞情况。SKIP_LOCKED通过立即跳过任何在VACUUM或者ANALYZE处理开始时无法锁定的表,实现了对这种场景的更多控制,这意味着这种处理方式将可能以不做任何事情为代价及时完成,如果表不断累积膨胀而不被清理,这也可能是危险的。正如commit信息中所提到的,有一些类似于autovacuum的限制:

  • 可能需要锁定表索引,这将导致处理过程在处理它们时仍然会阻塞。
  • 要处理的分区或继承树关系部分的列表是在开始VACUUM或者ANALYZE时生成的,如果父表已锁定,则不会处理其子表。如果其中一个子表被锁定了,并且父表在VACUUM的列表,那么继承树的所有成员都会被处理,除了被锁定的子表。但是,在获取树的样本行的过程中存在一个限制,因为在获取父表统计信息的行样本时,如果对子表加锁,则ANALYZE将阻塞.

此选项仅支持这些命令的括号语法,例如:

=# VACUUM (SKIP_LOCKED) tab1, tab2;
WARNING: 55P03: skipping vacuum of "tab1" --- lock not available
LOCATION: expand_vacuum_rel, vacuum.c:654
VACUUM

在这个例子中,列出的第二个表被锁定了。

在此过程中,请注意,由于以下commit,已将更多选项添加到vacuumdb中.

commit: 354e95d1f2122d20c1c5895eb3973cfb0e8d0cc2

author: Michael Paquier <michael@paquier.xyz>

date: Tue, 8 Jan 2019 10:52:29 +0900

Add --disable-page-skipping and --skip-locked to vacuumdb


​
DISABLE_PAGE_SKIPPING is available since v9.6, and SKIP_LOCKED since  v12. They lacked equivalents for vacuumdb, so this closes the gap.


​
Author: Nathan Bossart

Reviewed-by: Michael Paquier, Masahiko Sawada

Discussion: https://postgr.es/m/FFE5373C-E26A-495B-B5C8-911EC4A41C5E@amazon.com

因此,尽管DISABLEPAGESKPING从9.6开始就出现了,但结合-table,可以获得与VACUUM和ANALYZE提供的相同的映射。这个特性也添加到Postgres 12了。

  • 译者刘海龙,神州飞象(北京)数据科技有限公司,数据库工程师,多年关系数据库运维经验,擅长于生产/灾备系统建设,具有丰富的数据库开发支持经验和迁移经验。
  • 审稿方笛,神州飞象(北京)数据科技有限公司,数据库工程师,多年关系数据库运维经验,擅长于PostgreSQL的调优和运维,具有丰富的数据库调优和异构数据库迁移经验。

CENTER_PostgreSQL_Community


评论:4   浏览: 5978                   顶: 744  踩: 726 

请在登录后发表评论,否则无法保存。

1# __ xcvxcvsdf 回答于 2024-12-01 16:42:43+08
https://nanxi.tiancebbs.cn/ https://jataihe.tiancebbs.cn/ http://fuyang.tjtcbmw.cn/hnsq/ http://yuanbang.tjtcbmw.cn/guangdong/ https://fenlei.tiancebbs.cn/dongguan/ http://cf.lstcxxw.cn/sdwhf/ https://nanlingzhen.tiancebbs.cn/ http://cf.lstcxxw.cn/llhld/ https://gngongyeyuan.tiancebbs.cn/ http://js.sytcxxw.cn/sxyc/ https://shiling.tiancebbs.cn/ http://ouyu.hftcbmw.cn/jywzr/ http://tuiguang.hntcxxw.cn/zufang/ http://ouyu.hftcbmw.cn/esxcc/ https://liulihe.tiancebbs.cn/ http://cf.lstcxxw.cn/hgzpw/ http://ty.cqtcxxw.cn/gren/

2# __ xcvxcvsdf 回答于 2024-11-15 07:25:52+08
http://ty.cqtcxxw.cn/jian/ http://fuyang.tjtcbmw.cn/jsqczr/ http://jingren.hftcbmw.cn/shuangyashan/ http://huilong.sctcbmw.cn/rizhao/ http://bjtcxxw.cn/cqpl/ http://xinguang.sctcbmw.cn/hongkouqu/ http://huaguang.jxtcbmw.cn/jiangsu/ http://taiying.njtcbmw.cn/gswws/ http://huilong.sctcbmw.cn/xishuangbanna/ http://shimai.zjtcbmw.cn/bayannaoer/ http://yuanbang.tjtcbmw.cn/baoji/ http://xinguang.sctcbmw.cn/siping/ http://shenghuo.china-bbs.com/wsx/ http://taiying.njtcbmw.cn/xjhm/ http://ouyu.hftcbmw.cn/fjshs/ http://ouyu.hftcbmw.cn/tjjn/ http://bjtcxxw.cn/xzal/

3# __ xcvxcvsdf 回答于 2024-10-22 21:08:29+08
https://zulin.tiancebbs.cn/sh/2604.html https://taicang.tiancebbs.cn/hjzl/458328.html https://sh.tiancebbs.cn/hjzl/471456.html https://www.tiancebbs.cn/ershoufang/473603.html https://taicang.tiancebbs.cn/hjzl/461239.html https://aihuishou.tiancebbs.cn/sh/3532.html https://aihuishou.tiancebbs.cn/sh/4212.html https://taicang.tiancebbs.cn/hjzl/458272.html https://su.tiancebbs.cn/hjzl/463486.html https://aihuishou.tiancebbs.cn/sh/3620.html https://www.tiancebbs.cn/ershouwang/471782.html https://aihuishou.tiancebbs.cn/sh/4534.html https://aihuishou.tiancebbs.cn/sh/966.html https://www.tiancebbs.cn/ershoufang/471971.html https://zulin.tiancebbs.cn/sh/1112.html https://www.tiancebbs.cn/ershoufang/467341.html https://aihuishou.tiancebbs.cn/sh/3436.html

4# __ xiaowu 回答于 2024-04-23 14:16:06+08
希望孩子继续努力加油的句子:https://www.nanss.com/xuexi/4152.html 微小说:https://www.nanss.com/yuedu/4437.html 吊唁通知:https://www.nanss.com/shenghuo/4396.html 十年前和十年后晒照片的说说:https://www.nanss.com/wenan/4088.html 感谢小棉袄的话:https://www.nanss.com/yulu/4168.html 一年感悟经典句子:https://www.nanss.com/yulu/4304.html 欢迎语:https://www.nanss.com/shenghuo/4045.html 马甲名字:https://www.nanss.com/mingcheng/4431.html 生活的无奈与艰辛句子:https://www.nanss.com/yulu/4497.html 诗意网游名字:https://www.nanss.com/mingcheng/4417.html 护士节文案:https://www.nanss.com/wenan/4511.html 礼貌又不失尴尬的催还钱:https://www.nanss.com/shenghuo/4322.html 搞笑短语:https://www.nanss.com/yulu/4316.html 队伍口号:https://www.nanss.com/gongzuo/4327.html 冬至佳句简短:https://www.nanss.com/yulu/4475.html 非主流qq网名:https://www.nanss.com/mingcheng/4292.html 盗贼名字:https://www.nanss.com/mingcheng/4265.html 90后网名:https://www.nanss.com/mingcheng/4289.html 爱情祝福语:https://www.nanss.com/yulu/4187.html 超帅的名字:https://www.nanss.com/mingcheng/4115.html 桂林山水的诗:https://www.nanss.com/xuexi/4237.html 精选散文:https://www.nanss.com/yuedu/4389.html 疫情励志句子:https://www.nanss.com/yulu/4326.html 懒羊羊经典语录:https://www.nanss.com/yulu/4228.html 留恋造句:https://www.nanss.com/xuexi/4089.html 参赛队名:https://www.nanss.com/gongzuo/4219.html 一个人心烦的伤感说说:https://www.nanss.com/wenan/4388.html 吃醋的句子说说心情:https://www.nanss.com/wenan/4171.html 建国大业观后感500字:https://www.nanss.com/xuexi/4245.html 希望所有女孩都能平安的长大:https://www.nanss.com/yuedu/4086.html



发表评论:
加入我们
QQ群1:5276420
QQ群2:3336901
QQ群3:254622631
文档群:150657323
文档翻译平台:按此访问
社区邮件列表:按此订阅
扫码关注
© PostgreSQL中文社区 ... (自2010年起)