Lists: | pgsql-general |
---|
From: | Typing80wpm(at)aol(dot)com |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Serial / auto increment data type |
Date: | 2005-04-27 16:43:52 |
Message-ID: | 96.263711b3.2fa15388@aol.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
I am just beginning to teach myself Postgresql and Access. I notice that PG
has the "serial" type of field which increments automatically. I notice
that when I do external links in Access through ODBC, that Access wants a field
or fields which will be unique.
Here is my question. Would I be wise to define each and ever table with a
serial id, so that I may always be guaranteed something uniqe, to satisfy
Access. It seems to me like no harm can be done, since if you dont need the
serial id, you dont need it, but it is always there if you do need it, and it is
harder to add such a field down the line, after the fact.
Thanks!
From: | Scott Marlowe <smarlowe(at)g2switchworks(dot)com> |
---|---|
To: | Typing80wpm(at)aol(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Serial / auto increment data type |
Date: | 2005-04-27 20:52:47 |
Message-ID: | 1114635166.13303.1315.camel@state.g2switchworks.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
On Wed, 2005-04-27 at 15:43, Typing80wpm(at)aol(dot)com wrote:
> I am just beginning to teach myself Postgresql and Access. I notice
> that PG has the "serial" type of field which increments
> automatically. I notice that when I do external links in Access
> through ODBC, that Access wants a field or fields which will be
> unique.
>
> Here is my question. Would I be wise to define each and ever table
> with a serial id, so that I may always be guaranteed something uniqe,
> to satisfy Access. It seems to me like no harm can be done, since if
> you dont need the serial id, you dont need it, but it is always there
> if you do need it, and it is harder to add such a field down the line,
> after the fact.
Since 7.4 or 7.3 (I forget which) serial has NOT guaranteed uniqueness.
you have to add unique or primary key to the declaration like so:
create table foo (bar serial unique, otherfield int);
Or replace "unique" with "primary key"...
From: | Tony Caduto <tony_caduto(at)amsoftwaredesign(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Serial / auto increment data type |
Date: | 2005-04-27 21:09:55 |
Message-ID: | 426FFFA3.9030204@amsoftwaredesign.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
Yes, that is the way to do it.
I migrated several large Access DB to postgres and most of the tables that where done by the
non developers didn't have a primary key defined, so the easiest way was just to add a new field to every table and make it a serial.
I believe you would have to do this even if you were using MS SQL server as the backend.
> Here is my question. Would I be wise to define each and ever table with
> a serial id, so that I may always be guaranteed something uniqe, to
> satisfy Access. It seems to me like no harm can be done, since if you
> dont need the serial id, you dont need it, but it is always there if you
> do need it, and it is harder to add such a field down the line, after
> the fact.
>
> Thanks!
--
Tony Caduto
AM Software Design
Home of PG Lightning Admin for Postgresql 8.x
http://www.amsoftwaredesign.com