Re: Declarative partitioning
От | Robert Haas |
---|---|
Тема | Re: Declarative partitioning |
Дата | |
Msg-id | CA+TgmoaCtvChjt=xky-P4anEyTWjnUm9xrgo6CpRaN6wPmM7mw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Declarative partitioning (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: Declarative partitioning
(Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: Declarative partitioning (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>) |
Список | pgsql-hackers |
On Fri, Nov 20, 2015 at 6:44 AM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > Amit Langote wrote: >> On Fri, Nov 20, 2015 at 7:20 PM, Simon Riggs <simon@2ndquadrant.com> wrote: >> > Drop it?? I think he means "in this initial patch", right Amit L ? >> >> Yes, there was some notion of multi-level partitioning in the earlier >> patch but I removed it from the version I posted on Oct 30. I do >> intend to re-introduce it though. > > I'm with Simon. In my own experience, it's crazy to try to introduce a > huge feature such as this one in a single enormous commit. The last > patch you posted was 300 kb without any SGML changes. > > The way parallel query is being introduced is a good example to follow > (or logical multi-master replication, for that matter) --- one > infrastructure piece at a time. > > Let's build incrementally. I support building incrementally, but I don't see why we want to change the catalog structure and then change it again. That seems like it makes the project more work, not less. To me, it seems like there is a pretty obvious approach here: each table can be either a plain table, or a partition root (which can look just like an empty inheritance parent). Then multi-level partitioning falls right out of that design without needing to do anything extra. If you want a single level of partitioning, you partition the original table. If you want two levels of partitioning, you partition the partitions. If you want three levels of partitioning, you partition those. It's being made out here that limiting ourselves to a single of partitioning makes things simpler, but it's not very clear to me that this is actually true. I think it is also worth getting the syntax right from the beginning. Even if we decide that patch #1 won't support multi-level partitioning, we should have a plan for the syntax that can be extended to multi-level partitioning. If we decide after releasing partitioning with one syntax that we really wish we'd used some other syntax, that is going to be a really big problem - deprecating the use of => or introducing standard_conforming_strings were projects that took many years to complete. We really only get one shot to get that right. That doesn't mean it's all got to be there in version one, but there had better be a way to extend it to all the things we want to do later or we are going to be deeply, deeply sad. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления:
Следующее
От: Pavel StehuleДата:
Сообщение: Re: custom function for converting human readable sizes to bytes