Composite primary keys - Mailing list pgsql-sql

From Harald Fuchs
Subject Composite primary keys
Date
Msg-id pu1vpb2d9f.fsf@srv.protecting.net
Whole thread Raw
Responses Re: Composite primary keys  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Composite primary keys  (Joshua Tolley <eggyknap@gmail.com>)
List pgsql-sql
I tried to throw some invalid SQL to PostgreSQL and found its reaction
confusing:
 $ psql test            psql (8.4beta2) Type "help" for help.
 test=# CREATE TABLE t1 ( test(#   id serial NOT NULL, test(#   name text NOT NULL, test(#   PRIMARY KEY (id) test(# );
CREATETABLE test=# CREATE TABLE t2 ( test(#   id int NOT NULL REFERENCES t1, test(#   language char(3) NULL, test(#
txttext NOT NULL, test(#   PRIMARY KEY (id, language) test(# ); CREATE TABLE
 

Here's my first gripe: PostgreSQL accepts this silently instead of complaining.
 test=# INSERT INTO t1 (id, name) VALUES (1, 'text 1'); INSERT 0 1 test=# INSERT INTO t2 (id, language, txt) VALUES (2,
NULL,'text 1 no language'); ERROR:  null value in column "language" violates not-null constraint
 

And here's my second gripe: although PostgreSQL correctly rejects the
INSERT it just has ignored my NULL specification.



pgsql-sql by date:

Previous
From: James Kitambara
Date:
Subject: Re: Find periods for a given... action set?
Next
From: Tom Lane
Date:
Subject: Re: Composite primary keys