The following bug has been logged online:
Bug reference: 1662
Logged by: Steven Mooij
Email address: steven@mooij.org
PostgreSQL version: 7.4.7
Operating system: i386-pc-linux-gnu, compiled by GCC i386-linux-gcc (GCC)
3.3.5 (Debian 1:3.3.5-12)
Description: Table constrains are not properly inherited.
Details:
When a table is inherited from, it's table constraints are 'disabled':
CREATE TABLE super (x INTEGER, PRIMARY KEY (x));
CREATE TABLE sub (y INTEGER) INHERITS (super);
INSERT INTO sub VALUES (1, 1);
INSERT INTO sub VALUES (1, 2);
INSERT INTO super VALUES (1);
This should result in a 'duplicate key violation' for the unique constraint
on super(x), but it doesn't.
In this case
SELECT x FROM super;
results in:
x
---
1
1
1
(3 rows)