Re: Change lock requirements for adding a trigger

From: Decibel! <decibel(at)decibel(dot)org>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Change lock requirements for adding a trigger
Date: 2008-06-04 13:31:46
Message-ID: 85B9C2D2-76F8-467F-958B-A1B8324A74FA@decibel.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Jun 3, 2008, at 5:04 PM, Simon Riggs wrote:
> On Tue, 2008-06-03 at 16:48 -0500, Decibel! wrote:
>> On May 30, 2008, at 9:51 AM, Simon Riggs wrote:
>>> On Thu, 2008-05-29 at 19:18 -0500, Decibel! wrote:
>>>> Is there a reason that we can't add a trigger to a table while a
>>>> select is running? This is a serious pain when trying to setup
>>>> londiste or slony.
>>>
>>> This is constrained by locking.
>>>
>>> There are a subset of DDL commands that might be able to be
>>> performed
>>> with just an ExclusiveLock or ShareLock rather than an
>>> AccessExclusiveLock. Nobody has studied which sub-statements this
>>> might
>>> apply to, but its do-able since CREATE INDEX already does this.
>>
>> Is there a good way to determine this other than depending on
>> knowledge of the source code?
>
> The source doesn't know yet. So just analysis and thinking.
>
> The mechanism to hold less than an AccessExclusiveLock it doesn't
> exist
> yet, but it never will unless we have a list of the things that
> might be
> performed correctly with a lower level of lock.

Ok, I'll take a stab at such a list. Can anyone think of any reasons
why CREATE TRIGGER couldn't get by with ShareLock?
--
Decibel!, aka Jim C. Nasby, Database Architect decibel(at)decibel(dot)org
Give your computer some brain candy! www.distributed.net Team #1828

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas Pflug 2008-06-04 14:19:47 Re: Overhauling GUCS
Previous Message Decibel! 2008-06-04 13:21:26 Re: rfc: add pg_dump options to dump output