Re: Concurrency question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 7, 2009 at 11:11 PM, Tom Lane<tgl@xxxxxxxxxxxxx> wrote:
> Scott Marlowe <scott.marlowe@xxxxxxxxx> writes:
>> On Tue, Jul 7, 2009 at 3:40 PM, Tom Lane<tgl@xxxxxxxxxxxxx> wrote:
>>> The described situation is impossible: AccessSharelock doesn't block
>>> ShareUpdateExclusiveLock.  There must have been some other lock or
>>> attempted lock involved (perhaps at a page or tuple level rather than
>>> the whole-relation level).  But we can't tell much from this much detail.
>
>> So something like alter table or something?
>
> Well, one possible way to block vacuum is that the idle transaction is

Another way to block vacuum is to be in the middle of scanning the
table and have a pin on a page that vacuum wants to clean. For
example, say that transaction has a cursor open for a sequential scan
of that table and has stopped reading from the cursor, just sitting
"idle" but with the cursor still stuck on that page. In that case
vacuum would wait on that page waiting for the query to make progress
and move onto a new page so it can clean it.

-- 
greg
http://mit.edu/~gsstark/resume.pdf

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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux