unique constraint

Поиск
Список
Период
Сортировка
От Jamie Kahgee
Тема unique constraint
Дата
Msg-id AANLkTinw5xUV6xwUn_5eSYjKmPWjLns_CQ_7_EDHPfG=@mail.gmail.com
обсуждение исходный текст
Ответы Re: unique constraint  (Michael Glaesemann <grzm@seespotcode.net>)
Список pgsql-general
I have a table of paragraphs for pages that are in a specific order (1st, 2nd, 3rd, etc...).

demo=# \d paragraphs
                           Table "toolbox.paragraphs"
   Column    |  Type   |                        Modifiers                        
-------------+---------+---------------------------------------------------------
 ...
 page        | integer | not null
 pos         | integer | not null default 1
 ...

Is there a good way to ensure these paragraphs order can't get all out of whack?  what I mean is - we had a slight hiccup in a query and when paragraph positions were moved it sometimes messed up the order of other paragraph positions.  for example, some paragraph positions for a page might end up like (1st, 2nd, 2nd, 4th, 5th) or some other random list w/ duplicate positions

I've fixed the incorrect query, but would like to know if there is a better constraint that I could use to ensure this can't happen besides spectacular bug-free programming

I tried using a unique constraint on the page/pos columns, but was running into constraint errors when I did an update to move positions - in a transaction, there might be two pages at the same position for an instance while they are getting shuffled around.

to fix this I tried deferring the constraints, but as we're using version 8.2.5, realized this isn't supported and might not be the best approach?

Any ideas from the community that might be usefull?

Thanks,
Jamie K.

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

Предыдущее
От: "Brent Wood"
Дата:
Сообщение: Re: Database INNOVATION
Следующее
От: Michael Glaesemann
Дата:
Сообщение: Re: unique constraint