From: | Steve Wampler <swampler(at)noao(dot)edu> |
---|---|
To: | Thomas Swan <tswan(at)olemiss(dot)edu> |
Cc: | Michael Teter <michael_teter(at)yahoo(dot)com>, Poet/Joshua Drake <poet(at)linuxports(dot)com>, postgres-sql <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Using a postgres table to maintain unique id? |
Date: | 2000-11-14 17:44:53 |
Message-ID: | 3A117A15.6A247634@noao.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Thomas Swan wrote:
>
> At 11/13/2000 06:22 PM -0800, Michael Teter wrote:
> >
> > From what I can tell (both from docs and doing a
> > describe on sequences in my database), a postgresql
> > sequence is an int4, not an int8, and thus you are
> > limited to a max of 2.1 billion values.
> >
> > If you require an int8 sequence, you'll probably have
> > to manage your own and just use an int8 column.
> >
> I had originally started using int8 and creating custom sequences. However,
> as mentioned in a previous post, there is an inherent performance penalty in
> using int8 over int4. Tom Lane advised me that the int8 routines are an
> emulated or synthesized data type. in the test I did on our 7.0.2 server I
> notice about a 25-30% decrease in performance when using complex joins on
> tables containing referential keys, primary keys all in the int8 data type.
>
> This might be something to think about as well.
Thanks. Because of these and other comments people have made, I've gone back
to using a flat_file-with-server approach instead of adding a table to my
postgres DB. While an int4 *might* work, it doesn't handle the "worst-case"
scenario (which is up around 15 billion values).
Thanks to everyone for your comments and suggestions!
--
Steve Wampler- SOLIS Project, National Solar Observatory
swampler(at)noao(dot)edu
From | Date | Subject | |
---|---|---|---|
Next Message | Marten Feldtmann | 2000-11-14 20:11:49 | Re: Using a postgres table to maintain unique id? |
Previous Message | Stephan Szabo | 2000-11-14 17:38:43 | Re: how to continue a transaction after an error? |