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 по дате отправления: