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