Re: Currval question and confusion

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Currval question and confusion
Дата
Msg-id 20050305200523.GA70847@winnie.fuhr.org
обсуждение исходный текст
Ответ на Currval question and confusion  (Kumar S <ps_postgres@yahoo.com>)
Список pgsql-novice
On Sat, Mar 05, 2005 at 11:40:47AM -0800, Kumar S wrote:

> Now 3 people have simultaneously issued insert
> statements. After some time while the second process
> is still filling table 1 and enters table2 the currval
> position has been changed. Then will I be assigning a
> wrong FK in table2 and table3.

Are you asking if there's a problem, or are you saying you've
observed a problem?  currval() is documented to return the most
recently obtained value *in the current connection*, so if each
process uses a different connection then you shouldn't have a
problem.  Connection pooling could interfere with this, however,
if it allows queries from different processes to be interleaved on
the same connection.  In that case you could call nextval() prior
to the inserts and remember the key values on the client side.

http://www.postgresql.org/docs/8.0/interactive/functions-sequence.html
http://www.postgresql.org/files/documentation/faqs/FAQ.html#4.11.3

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

В списке pgsql-novice по дате отправления:

Предыдущее
От: Kumar S
Дата:
Сообщение: Currval question and confusion
Следующее
От: Kumar S
Дата:
Сообщение: background jobs