Re: Data type for serial during constraint? - Mailing list pgsql-general

From Ed Loehr
Subject Re: Data type for serial during constraint?
Date
Msg-id 39347759.AAD70210@austin.rr.com
Whole thread Raw
In response to Data type for serial during constraint?  ("Rob S." <rslifka@home.com>)
List pgsql-general
> "Rob S." wrote:
> >
> > Question tho':  I've specified a SERIAL primary key ("fooID") in some table
> > ("t1").  From another table, I'd like to specify that primary key as a
> > foreign key.  I have to include a data type, but that will create another
> > sequencer for that field, which I would imagine is not the way root
> > intended?  for "t2"...
> >
> > CREATE TABLE "T2" ( "t2ID" SERIAL, "fooID" ???? REFERENCES "t1" ("fooID") );
> >
> > What goes where the '?' are?  Thanks in advance!

SERIAL is not really a first-class type.  Here's an example that reveals
the parser translation into an integer type:

testdb=# create table foo (id serial primary key);
NOTICE:  CREATE TABLE will create implicit sequence 'foo_id_seq' for
SERIAL column 'foo.id'
NOTICE:  CREATE TABLE/PRIMARY KEY will create implicit index 'foo_pkey'
for table 'foo'
CREATE
testdb=# \d foo
                            Table "foo"
 Attribute |  Type   |                   Modifier
-----------+---------+----------------------------------------------
 id        | integer | not null default nextval('foo_id_seq'::text)
Index: foo_pkey

Regards,
Ed Loehr

pgsql-general by date:

Previous
From: Vince Vielhaber
Date:
Subject: Re: Postgresql usage clip.
Next
From: Tom Lane
Date:
Subject: Re: Perl interfaces?