Re: How do I setup this Exclusion Constraint?

Поиск
Список
Период
Сортировка
От Misa Simic
Тема Re: How do I setup this Exclusion Constraint?
Дата
Msg-id 6455613462500341209@iso-8859-1msgid
обсуждение исходный текст
Ответ на How do I setup this Exclusion Constraint?  (bradford <fingermark@gmail.com>)
Список pgsql-general
Hi

I think for overlaping exclusion constraint you need period extension
or range datatype in 9.2

Kind Regards,

Misa

Sent from my Windows Phone
From: bradford
Sent: 01/05/2012 19:16
To: pgsql-general@postgresql.org
Subject: [GENERAL] How do I setup this Exclusion Constraint?
I would like to prevent overlapping dates ranges for col1 + col2 from
being inserted into my test table.

Existing Data:
1, FOO, 2012-04-04, 2012-04-06

Insert Attempts:
1, FOO, 2012-04-05, 2012-04-08 <-- BAD, overlaps w/ above!
1, BAR, 2012-04-04, 2012-04-06 <-- OK, no conflict!
2, FOO, 2012-04-04, 2012-04-06 <-- OK, no conflict!

Here's the table:

CREATE TABLE test (
  id INTEGER NOT NULL DEFAULT nextval('test_id_seq'),
  col1 INTEGER,
  col2 VARCHAR(10),
  from_ts TIMESTAMPTZ,
  to_ts TIMESTAMPTZ,
  CHECK ( from_ts < to_ts )
);

I'm trying to used what I learned in
http://www.depesz.com/2010/01/03/waiting-for-8-5-exclusion-constraints/,
but I cannot figure out how to apply this exclusion constraint to col1
(integer) + col2 (varchar).

Also, I'm very new to postgresql, so if you could explain it, that'd
be great too.  And must I compile postgresql from source to gain the
ability to use this type of exclusion constraint?

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

В списке pgsql-general по дате отправления:

Предыдущее
От: Alexander Reichstadt
Дата:
Сообщение: Re: Listen and Notify
Следующее
От: Evan Martin
Дата:
Сообщение: SQL functions not being inlined