On 10/16/2014 11:52 AM, David G Johnston wrote:
> On Thu, Oct 16, 2014 at 11:44 AM, lup [via PostgreSQL] <[hidden email]
> </user/SendEmail.jtp?type=node&node=5823296&i=0>>wrote:
>
>
>
> I appreciate the vastness of bigserial but I think it starts at
> 1. Are negative numbers even allowed?
>
>
> http://www.postgresql.org/docs/9.3/static/sql-createsequence.html
>
> A DEFAULT sequence starts at one but it is able to generate any
> biginteger value. Regardless, the value generated by the sequence
> and the allowed values for the target column are distinct - which is
> why a sequence attached to a normal integer will start throwing "value
> out of bounds" errors before it runs out of values.
>
> Therefore, by default if one is able to live with disallowing half of
> the bigint range for auto-generation using the negative half of the
> range for manual assignment is a quick-and-simple solution to the problem.
>
> David J.
>
>
> ------------------------------------------------------------------------
> View this message in context: Re: COPY data into a table with a SERIAL
> column?
> <http://postgresql.1045698.n5.nabble.com/COPY-data-into-a-table-with-a-SERIAL-column-tp5823278p5823296.html>
> Sent from the PostgreSQL - general mailing list archive
> <http://postgresql.1045698.n5.nabble.com/PostgreSQL-general-f1843780.html>
> at Nabble.com.
As proven by part 4 :)
postgres=# insert into t (id, name) values(-777, 'rjs');
INSERT 0 1
postgres=# select * from t;
id | name
------+------
1 | rjs
777 | rjs
-777 | rjs
(3 rows)