Re: Declarative partitioning - another take
От | Robert Haas |
---|---|
Тема | Re: Declarative partitioning - another take |
Дата | |
Msg-id | CA+TgmoZ7MNwGZ7gcy0asxJ5YpWS5TcdHrWAK=YHq5ECdqSRfAw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Declarative partitioning - another take (Amit Kapila <amit.kapila16@gmail.com>) |
Список | pgsql-hackers |
On Wed, Oct 26, 2016 at 6:12 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: > On Wed, Oct 26, 2016 at 3:04 PM, Amit Langote > <Langote_Amit_f8@lab.ntt.co.jp> wrote: >> On 2016/10/26 17:57, Amit Kapila wrote: >>> @@ -123,6 +123,9 @@ typedef struct RelationData >>> { >>> .. >>> MemoryContext rd_partkeycxt; /* private memory cxt for the below */ >>> struct PartitionKeyData *rd_partkey; /* partition key, or NULL */ >>> + MemoryContext rd_pdcxt; /* private context for partdesc */ >>> + struct PartitionDescData *rd_partdesc; /* partitions, or NULL */ >>> + List *rd_partcheck; /* partition CHECK quals */ >>> .. >>> } >>> >>> I think one thing to consider here is the increase in size of relcache >>> due to PartitionDescData. I think it will be quite useful in some of >>> the cases like tuple routing. Isn't it feasible to get it in some >>> other way, may be by using relpartbound from pg_class tuple? >> >> Whereas pg_class.relpartbound stores partition bound of the *individual >> partitions* in Node form, the above relcache struct is associated with >> parent tables; it contains some efficient to use (and fairly compact) >> representation of bounds of *all* the partitions of the parent. >> > > Okay, but still it will be proportional to number of partitions and > the partition keys. Is it feasible to store ranges only for > partitions that are actively accessed? For example, consider a table > with 100 partitions and the first access to table requires to access > 5th partition, then we store ranges for first five partitions or > something like that. This could be helpful, if we consider cases that > active partitions are much less as compare to total partitions of a > table. I have serious doubt about whether it's a good idea to do that EVER, but it certainly doesn't need to be in the first version of this patch. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: