Jinyu <call_ji...@126.com> writes:
> Proposal:  vacuum full table takes an ExclusiveLock on relation instead of 
> AccessExclusiveLock at start. It can' block select statement before call 
> function "finish_heap_swap". and select statement is safe because vacuum full 
> table  copys tuples from old relation to new relation before calling function 
> "finish_heap_swap". But it must take an AccessExclusiveLock on relation when 
> call function "finish_heap_swap" in order to block select statement on the 
> same relation.

> This solution can improve the concurency. the following shows the reasons.

What it's more likely to do is cause the vacuum full to fail altogether,
after doing a lot of work.  Lock upgrade is a bad thing because it tends
to result in deadlocks.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to