Re: Temporal foreign keys
От | Andreas Kretschmer |
---|---|
Тема | Re: Temporal foreign keys |
Дата | |
Msg-id | 20120316141350.GA5716@tux обсуждение исходный текст |
Ответ на | Re: Temporal foreign keys (Jeff Davis <pgsql@j-davis.com>) |
Ответы |
Re: Temporal foreign keys
|
Список | pgsql-general |
Jeff Davis <pgsql@j-davis.com> wrote: > On Fri, 2012-02-03 at 07:58 +0100, Matthias wrote: > > Hey, > > > > how can I implement temporal foreign keys with postgresql? Is writing > > triggers the only way to enforce temporal referential integrity > > currently? > > Yes, currently that's the only way. Look at CREATE CONSTRAINT TRIGGER. It works in 9.2devel ;-) test=# create table x (d daterange primary key); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "x_pkey" for table "x" CREATE TABLE test=*# create table y (d daterange references x); CREATE TABLE test=*# insert into x values ('[2012-01-01,2012-01-10)'); INSERT 0 1 test=*# insert into y values ('[2012-01-01,2012-01-10)'); INSERT 0 1 test=*# insert into y values ('[2012-01-01,2012-01-20)'); ERROR: insert or update on table "y" violates foreign key constraint "y_d_fkey" DETAIL: Key (d)=([2012-01-01,2012-01-20)) is not present in table "x". Jeff: thx for YOUR work! Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
В списке pgsql-general по дате отправления: