advancing sequences

Поиск
Список
Период
Сортировка
От Dmitri Bichko
Тема advancing sequences
Дата
Msg-id 7A4ADADFC8AFF0478D47F63BEDD57CE30D08FA@gpmail.gphq.genpathpharma.com
обсуждение исходный текст
Ответы Re: advancing sequences  (Bruno Wolff III <bruno@wolff.to>)
Список pgsql-general
I am trying to speed up a couple of decent sized inserts (~25K rows a pop) by using COPY FROM.
A slight snag I am running into is that the table I insert into has a primary key generated from a sequence.
So I want to include this id in the temp text file that I copy from, so what is the proper way to grab 25K or so values from a sequence, without breaking anything?
 
In other words, if I get $current_val with "nextval('foo')" and then do a "setval('foo', $current_val + 25000)", that creates a race condition.  The only other thing I can think of is "setval('foo', nextval('foo') + 25000)", but then I can't get the actual start value out (and I am not even sure this would be truly atomic).
 
What's the proper way of doing this?  Calling nextval for every row when I create the temp file seems to somehow go against the idea of speeding things up...
 
thanks,
Dmitri

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

Предыдущее
От: Dennis Gearon
Дата:
Сообщение: Re: Database server restarting
Следующее
От: "scott.marlowe"
Дата:
Сообщение: Re: Database server restarting