Re: Design question regarding arrays - Mailing list pgsql-novice

From Stephan Szabo
Subject Re: Design question regarding arrays
Date
Msg-id 20040809071805.X32884@megazone.bigpanda.com
Whole thread Raw
In response to Re: Design question regarding arrays  (Oliver Fromme <olli@lurza.secnetix.de>)
List pgsql-novice
On Mon, 9 Aug 2004, Oliver Fromme wrote:

> Sean Davis wrote:
>  > I'm a novice, too, but why not look up the value in the sequence and
>  > increment it before doing any inserting?  If you are doing all the inserts
>  > at the same time (more or less), then you can just use this value in the
>  > insert into both tables.  Put all of this inside one transaction.
>
> That won't work if another process is trying to do the same
> thing at the same time.  They both get the same value when
> they look it up, so there will be an ID collision.

It should be safe if you're using a sequence and using nextval() to get
the value that you are using in both insert statements. A second session
will not get the same value you just got from nextval barring a cycling
sequence generator that wraps back to the same number between the nextval
and insert.

pgsql-novice by date:

Previous
From: Oliver Fromme
Date:
Subject: Re: Design question regarding arrays
Next
From: Tom Lane
Date:
Subject: Re: Multiple return 'columns' from postgre pl/pgsql