Re: Partial index locks - Mailing list pgsql-hackers

From Thom Brown
Subject Re: Partial index locks
Date
Msg-id CAA-aLv6OLOxYo4V2FFjOtMecGopFcKJam2Jh-Jy+kphRU9DQJg@mail.gmail.com
Whole thread Raw
In response to Re: Partial index locks  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Partial index locks  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 22 March 2014 05:32, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>> Is it necessary for a partial index that doesn't include the row to be
>> involved in locking?
>
> Yes.  You can't determine whether the index needs to get a new entry
> without examining its metadata, and that's what the lock is mainly about.

I see.  Why does this apply to deletes too?

> The only possible alternative would be to take the minimum possible
> lock (AccessShareLock) on each index so its metadata would hold still,
> and then upgrade that to RowExclusiveLock on the one(s) we find need
> insertions.  This is not better; it means *more* lock management traffic
> not less, and lock upgrades increase the potential for deadlocks.

Yes, I can see that wouldn't be an improvement.
-- 
Thom



pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: [RFC] What should we do for reliable WAL archiving?
Next
From: Andrzej Mazurkiewicz
Date:
Subject: Re: Inheritance of foregn key constraints.