Re: Auto creation of Partitions
От | Florian G. Pflug |
---|---|
Тема | Re: Auto creation of Partitions |
Дата | |
Msg-id | 45EDB277.3050703@phlo.org обсуждение исходный текст |
Ответ на | Re: Auto creation of Partitions (Martijn van Oosterhout <kleptog@svana.org>) |
Ответы |
Re: Auto creation of Partitions
|
Список | pgsql-hackers |
Martijn van Oosterhout wrote: > On Wed, Mar 07, 2007 at 02:43:39AM +1030, Shane Ambler wrote: >> I think a way can be devised to maintain the primary key and unique >> constraints. >> If a search is done on the parent table, the planner knows to rewrite >> the query as a union (or union all) of all child tables that relate to >> the where clause, or all child tables if the where clause is not on the >> column/s used to partition, then this concept should be able to be >> converted to indexes as well, so that when a primary or unique index >> from a child table is inserted to, then each of the related child >> indexes is consulted to ensure uniqueness. > > But that's where it breaks down: you not only need to check that the > row you're inserting is unique, you need to make sure that other people > trying to insert the same value see it. This sounds like what is really needed is a way to lock a certain condition, namely the existance or non-existance of a record with certain values in certain fields. This would not only help this case, it would also help RI triggers, because those wouldn't have to acquire a share lock on the referenced rows anymore. As you pointed out, this would also make unique GiST indices possible No real idea how to do this, though :-( greetings, Florian Pfluge
В списке pgsql-hackers по дате отправления: