Skip site navigation (1) Skip section navigation (2)

Re: Any idea for serializing INSERTING SERIAL column?

From: Josh Kupershmidt <schmiddy(at)gmail(dot)com>
To: Tatsuo Ishii <ishii(at)postgresql(dot)org>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Any idea for serializing INSERTING SERIAL column?
Date: 2011-06-01 01:48:51
Message-ID: BANLkTinMqeZzgrqmCf4wF1dMjU42+rf98A@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackers
On Tue, May 31, 2011 at 8:08 PM, Tatsuo Ishii <ishii(at)postgresql(dot)org> wrote:
[snip]
> In summary,
>
> 1) "LOCK table foo" cannot be used because of conflict with autovacuum
> 2) "LOCK sequence" just doesn't work
> 3) "SELECT 1 FROM LOCK sequece" fails after XID wraparound
>
> If you have other idea to serialize concurrent INSERT to a table, I
> would like to hear from you.

Sorry, I'm not real familiar with pgpool, but have you thought about
using an advisory lock on the target table, instead of a "real" lock
(SELECT ... FOR UPDATE / LOCK table)? An advisory lock should not
interfere with autovacuum. Obviously, this would only work if all the
INSERTs in your example were coming from a single application (i.e.
pgpool) which would honor the advisory lock.

Josh

In response to

Responses

pgsql-hackers by date

Next:From: Tatsuo IshiiDate: 2011-06-01 02:52:58
Subject: Re: Any idea for serializing INSERTING SERIAL column?
Previous:From: David FetterDate: 2011-06-01 01:42:08
Subject: Re: creating CHECK constraints as NOT VALID

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group