Oleg Bartunov wrote:
> Hi there,
>
> what's wrong to use SERIAL as FK without explicit PRIMARY KEY or UNIQUE ?
>
> qq=# create table t1( id serial);
> NOTICE: CREATE TABLE will create implicit sequence "t1_id_seq" for
> "serial" column "t1.id"
> CREATE TABLE
> qq=# create table t2( id2 int4 references t1(id));
> ERROR: there is no unique constraint matching given keys for referenced
> table "t1"
>
> btw, Richard, I noticed this problem when looked into your example database
> http://www.archonet.com/pgdocs/chap-exdb.html#EXAMPLE-TABLES
Ah - IIRC there *was* nothing wrong with it when those notes were
written (and I need to update them, clearly). Back then SERIAL implied
UNIQUE too, but that was changed (in 7.3 I believe).
-- Richard Huxton Archonet Ltd