On Tue, Jun 7, 2011 at 8:44 AM, Alex <[email protected]> wrote: > > The following bug has been logged online: > > Bug reference: 6054 > Logged by: Alex > Email address: [email protected] > PostgreSQL version: 8.4.8 > Operating system: CentOS > Description: Insert to table, which has fkey to table,which is > parenttable for another table - error > Details: > > CREATE TABLE t1 > (t1_id numeric(10,0) NOT NULL PRIMARY KEY); > > CREATE TABLE t2 > (t2_id numeric(10,0) NOT NULL PRIMARY KEY) INHERITS (t1); > > > CREATE TABLE t3 > (t3_id numeric(10,0) NOT NULL PRIMARY KEY , > t1_id numeric(10,0) NOT NULL REFERENCES t1(t1_id)) ; > > > > INSERT INTO t2 VALUES(1,2); > INSERT INTO t3 VALUES(3,1); > > > ERROR: insert or update on table "t3" violates --- > foreign key constraint "t3_t1_id_fkey" > DETAIL: Key (t1_id)=(1) is not present in table "t1". > > > BUT!!!! > SELECT t1_id FROM t1 WHERE t1_id = 1; > -->1
When you use a foreign key with inheritance, only the rows that are actually in the parent table itself are considered for purposes of the foreign key. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-bugs mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
