Re: Locking for function creation - Mailing list pgsql-general

From Mark Morgan Lloyd
Subject Re: Locking for function creation
Date
Msg-id 45741636.18615A1@telemetry.co.uk
Whole thread Raw
In response to Locking for function creation  (Mark Morgan Lloyd <markMLl.pgsql-general@telemetry.co.uk>)
Responses Re: Locking for function creation  (Richard Huxton <dev@archonet.com>)
List pgsql-general
Richard Huxton wrote:
>
> Mark Morgan Lloyd wrote:
> > If there's a risk that multiple clients will try to execute a 'create or
> > replace function' simultaneously, what's the recommended practice for
> > putting it in a transaction and/or locking it? If a lock's incolved what
> > should this be applied to- the table that the function is most likely to
> > be involved with, an arbitrary table, or a dummy table specifically
> > reserved for this purpose?
>
> What problem are you trying to prevent here? Do you want a particular
> version of the function to be available for a certain amount of time?

I don't anticipate that the function will change, but it's (re)defined by a
script triggered periodically on a client system. I'm pretty sure that I've seen
a problem whilst I was doing maintenance when two clients tried to redefine it
simultaneouly (i.e. on one of them the redefinition failed rather than waiting),
in the interim I've set up a transaction with a lock on the table that is most
likely to be involved noting that by default the lock type is the most
restrictive.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

pgsql-general by date:

Previous
From: "Tshimanga Minkoka"
Date:
Subject: Re: DBI module for postgres 1.4.3
Next
From: Michal Taborsky - Internet Mall
Date:
Subject: Re: Storing files in postgres db