Re: Sequence Question

From: Prabu Subroto <prabu_subroto(at)yahoo(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Sequence Question
Date: 2004-08-05 06:54:40
Message-ID: 20040805065440.53274.qmail@web41808.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

kv=# create sequence sales_salesid_seq;
CREATE SEQUENCE
kv=# select setval('sales_salesid_seq', (select
max(salesid) from sales)+1);
setval
--------
16
(1 row)
kv=# alter table sales alter column salesid set
default nextval('sales_serialid_
seq');
ALTER TABLE

Oscar Tuscon <obtuse(at)bmwe30(dot)net> wrote:

> I'm looking at ways to get batches of sequence
> values s faster. I don't want to set cache or
> increment to a large number for a variety of
> reasons. I need to grab id's in batches of varying
> numbers at various times, from 1 to several thousand
> at once.
> Doing it 1 at a time works, but more time goes into
> it than I'd like. I tried setting cache_value high
> but the database roundtrips were eating more time
> that I wanted to see; I only saw a 25% improvement
> in average time.
>
> SO... is the following approach safe? That is, will
> this be atomic, or is there a possibility that
> another connection could squeeze in a select
> nextval() between the select nextval() and the
> setval below?
> If it's safe I'd do this and take the sequences as
> the new currval - #I asked for (1500 or whatever).
>
> mydb=# select setval('my_id_seq', (select
> nextval('my_id_seq')+1500));
>
> Thanks
> Oscar
>
>
>
_____________________________________________________________
> The BMW E30 community on the web--->
> http://www.bmwe30.net
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: you can get off all lists at once with the
> unregister command
> (send "unregister YourEmailAddressHere" to
> majordomo(at)postgresql(dot)org)
>


__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Uwe C. Schroeder 2004-08-05 07:05:30 Re: Creating an hourly backup
Previous Message Pierre-Frédéric Caillaud 2004-08-05 06:49:33 Re: most idiomatic way to "update or insert"?