constraint checking on partitions

Поиск
Список
Период
Сортировка
От Chris Spotts
Тема constraint checking on partitions
Дата
Msg-id 00b201ca00c3$b2b06d90$181148b0$@com
обсуждение исходный текст
Ответы Re: constraint checking on partitions
Список pgsql-general

I have several partitions on a history table that are partitioned by a date range (monthly).  However, it’s possible for an unexpected but valid date (either very far in the future or very far in the past) to come in the data set and so there is an “overflow” table.

Say table A is parent, B  is April data, C is June data, D is July data, and O is overflow data.

I set several stored procedures to facilitate the adding of triggers, constraints, etc for partitions.  These procs, in addition to adding the constraint the normal partitions, also add a “NOT” constraint to the overflow table.  i.e., when the July partition is created with

 

alter table D add constraint onlyjuly check (date1 >= ‘2009-07-01’ and date1 < ‘2009-07-01’)

Then this is also run

alter table O add constraint notjuly check (NOT(date1 >= ‘2009-07-01’ and date1 < ‘2009-07-01’))

 

The planner excludes correctly except that it always checks O.

It doesn’t seem to be able to use the multiple constraints on O.

Are multiple “NOT” constraints too much for the planner for excluding partitions?

 

 

 

 

 

postgres=# select version();

                                                       version

----------------------------------------------------------------------------------------------------------------------

 PostgreSQL 8.4.0 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8.0.1), 64-bit

 

 

 

Chris Spotts

 

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

Предыдущее
От: Bill Moran
Дата:
Сообщение: Re: is autovacuum recommended?
Следующее
От: John R Pierce
Дата:
Сообщение: Re: ZFS prefetch considered evil?