重庆思庄Oracle、Redhat认证学习论坛

标题: PG12以上VACUUM 加 skip_locked [打印本页]

作者: 郑全    时间: 2023-12-23 18:45
标题: PG12以上VACUUM 加 skip_locked
在PG12以前,如果我们把一张表锁住,再另外的窗口中,执行VACUUM,会一直等待,PG12开始,增加了一个 (skip_locked) 选项,可以直接过去。
测试过程如下:
1.在窗口1 锁住表 student
postgres@:5432/postgres-3751#=begin;
BEGIN
postgres@:5432/postgres-3751#=lock table student in exclusive mode;
LOCK TABLE

2.窗口2 直接VACUUM,挂起

   postgres@:5432/postgres-3815#=vacuum student;

3.窗口1 结束表锁,窗口2才执行完毕。


4.如果窗口2中,加上 (skip_locked) ,马上就出来,不会等

  postgres@:5432/postgres-3815#=vacuum (skip_locked) student;
WARNING:  skipping vacuum of "student" --- lock not available
VACUUM








欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2