BUG #5946: Long exclusive lock taken by vacuum (not full) - Mailing list pgsql-bugs

From Maxim Boguk
Subject BUG #5946: Long exclusive lock taken by vacuum (not full)
Date
Msg-id 201103250856.p2P8ufGc004544@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5946: Long exclusive lock taken by vacuum (not full)  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: BUG #5946: Long exclusive lock taken by vacuum (not full)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5946
Logged by:          Maxim Boguk
Email address:      Maxim.Boguk@gmail.com
PostgreSQL version: 8.4
Operating system:   Linux
Description:        Long exclusive lock taken by vacuum (not full)
Details:

From documentation I know that vacuum (without full) can truncate empty
pages from end of a relation if they are free and vacuum successfully grabed
exclusive lock for short time.

However, I wasn't ready to learn that 'short exclusive lock' can be 10-20
minutes in some cases.

In my case vacuum tried to truncate last 10-15GB from 100Gb relation, and
each time (3) it was cost 10+ minutes of service downtime (because that
table was completely locked).

Is  that correct behaviour? Are here any way to speedup that process or at
least allow read-only queries during that time?

PS: no exessive disk IO observed during that 10+ min locks.

pgsql-bugs by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: ERROR: character 0xe3809c of encoding "UTF8" has no equivalent in EUC_JP
Next
From: "Raman Sharma"
Date:
Subject: BUG #5947: Error while running query