From: | Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Temporal foreign keys |
Date: | 2012-03-16 14:13:50 |
Message-ID: | 20120316141350.GA5716@tux |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Jeff Davis <pgsql(at)j-davis(dot)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°
From | Date | Subject | |
---|---|---|---|
Next Message | Lonni J Friedman | 2012-03-16 14:20:30 | Re: how to measure wal_buffer usage |
Previous Message | Wong, Beverly | 2012-03-16 14:08:28 | Windows 7 Compatibility |