Re: auto-increment field : in a simple way - Mailing list pgsql-general

From Scott Marlowe
Subject Re: auto-increment field : in a simple way
Date
Msg-id CAOR=d=0KTVeEY_HLYO-ga4z_mt+AFH2UEfuYBTg-fOVN9S635g@mail.gmail.com
Whole thread Raw
In response to auto-increment field : in a simple way  (Vineet Deodhar <vineet.deodhar@gmail.com>)
Responses Re: auto-increment field : in a simple way  (Vineet Deodhar <vineet.deodhar@gmail.com>)
List pgsql-general
On Thu, Oct 11, 2012 at 1:04 AM, Vineet Deodhar
<vineet.deodhar@gmail.com> wrote:
> I wish to know regarding auto-increment field.
> I learn that the required table definition would be something like --
>
> CREATE TABLE tablename (
>     colname SERIAL
> );
>
> For more granular control over the size of field, I need to do the
> following---
>
> CREATE SEQUENCE user_id_seq;
>
> CREATE TABLE user (
>
>     user_id smallint NOT NULL DEFAULT nextval('user_id_seq')
>
> );
> ALTER SEQUENCE user_id_seq OWNED BY user.user_id;
>
>
>
> I am not pinpointing MySQL v/s Postgres; but since I am accustomed to using
> simply "AUTOINCREMENT" in MySQL,
> I find this a bit cumbersome procedure.
>
> 1] Is there any simpler way of doing this?
>
> 2] Whether the development team has this point in their TO DO list for
> future release of postgres?

Can't you just add this to your create table:


CREATE TABLE tablename (
   colname SERIAL
, check (colname>0 and colname < 32768));
);

Also I can't imagine this problem being common enough to justify much
work to provide a "smallserial" type etc.  What about when we want a
sequence with a different increment by, start, min/max, cycle, or
cache value? Any idea for making things a bit different here should
probably address all of those possibilites.


pgsql-general by date:

Previous
From: Vineet Deodhar
Date:
Subject: auto-increment field : in a simple way
Next
From: Craig Ringer
Date:
Subject: Re: moving from MySQL to pgsql