Re: Auto creation of Partitions

Поиск
Список
Период
Сортировка
Искать
От
Jim Nasby
Тема
Re: Auto creation of Partitions
Дата
Msg-id
3304D747-FD0D-486B-894B-700DE210D772@decibel.org
Ответ на
Список
Дерево обсуждения
Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Peter Eisentraut <peter_e@gmx.net>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions "Simon Riggs" <simon@2ndquadrant.com>
Re: Auto creation of Partitions Jim Nasby <decibel@decibel.org>
Re: Auto creation of Partitions "Simon Riggs" <simon@2ndquadrant.com>
Re: Auto creation of Partitions Gregory Stark <stark@enterprisedb.com>
Re: Auto creation of Partitions "Jim C. Nasby" <jim@nasby.net>
Re: Auto creation of Partitions "Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>
Re: Auto creation of Partitions "Luke Lonergan" <llonergan@greenplum.com>
Re: Auto creation of Partitions "Simon Riggs" <simon@2ndquadrant.com>
Re: Auto creation of Partitions "Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>
Re: Auto creation of Partitions "Luke Lonergan" <llonergan@greenplum.com>
Re: Auto creation of Partitions "Simon Riggs" <simon@2ndquadrant.com>
Re: Auto creation of Partitions Shane Ambler <pgsql@Sheeky.Biz>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions "Simon Riggs" <simon@2ndquadrant.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Peter Eisentraut <peter_e@gmx.net>
Re: Auto creation of Partitions Tom Lane <tgl@sss.pgh.pa.us>
Re: Auto creation of Partitions Josh Berkus <josh@agliodbs.com>
Re: Auto creation of Partitions Andrew Dunstan <andrew@dunslane.net>
Re: Auto creation of Partitions Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>
Re: Auto creation of Partitions "Joshua D. Drake" <jd@commandprompt.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Peter Eisentraut <peter_e@gmx.net>
Re: Auto creation of Partitions Shane Ambler <pgsql@Sheeky.Biz>
Re: Auto creation of Partitions Martijn van Oosterhout <kleptog@svana.org>
Re: Auto creation of Partitions "Florian G. Pflug" <fgp@phlo.org>
Re: Auto creation of Partitions Josh Berkus <josh@agliodbs.com>
Re: Auto creation of Partitions Jim Nasby <decibel@decibel.org>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions "Jim C. Nasby" <jim@nasby.net>
Re: Auto creation of Partitions Shane Ambler <pgsql@Sheeky.Biz>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Robert Treat <xzilla@users.sourceforge.net>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Robert Treat <xzilla@users.sourceforge.net>
Re: Auto creation of Partitions "Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>
Re: Auto creation of Partitions Jim Nasby <jim@nasby.net>
Re: Auto creation of Partitions Hannu Krosing <hannu@skype.net>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Gregory Stark <stark@enterprisedb.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions "Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions Alvaro Herrera <alvherre@commandprompt.com>
Re: Auto creation of Partitions NikhilS <nikkhils@gmail.com>
Re: Auto creation of Partitions "Jim C. Nasby" <jim@nasby.net>
Re: Auto creation of Partitions Jim Nasby <decibel@decibel.org>
On Mar 7, 2007, at 3:26 AM, Simon Riggs wrote:
> If you know that the constraints on each of the tables is distinct,  
> then
> building a UNIQUE index on each of the partitions is sufficient to  
> prove
> that all rows in the combined partitioned table are distinct also.
>
> The hard part there is checking that the partition constraints are
> distinct. If the partition constraints are added one at a time, you  
> can
> use the predicate testing logic to compare the to-be-added partition's
> constraint against each of the already added constraints. That becomes
> an O(N) problem.
>
> What is really needed is a data structure that allows range partitions
> to be accessed more efficiently. This could make adding partitions and
> deciding in which partition a specific value goes an O(logN)  
> operation.

Directing data to child tables with triggers pretty much necessitates  
having some way to codify what partition a particular row belongs in.  
IE: for partitioning by month, you'll see things like naming the  
partition tables "parent_table_name_$YEAR_$MONTH", so the  
'partitioning function' takes a date or timestamp and then returns  
what partition it belongs to. Perhaps there is some way to use that  
mapping to drive the selection of what partitions could contain a  
given value?

One possibility would be to require 3 functions for a partitioned  
table: one accepts the partitioning key and tells you what partition  
it's in, one that tells you what the minimum partitioning key for a  
partition would be, and one that tells you what the maximum would be.  
If the user supplied those 3 functions, I think it would be possibly  
to automatically generate code for the triggers and check  
constraints. The min/max partition key functions might allow you to  
more efficiently do partition elimination, too.
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)



В списке pgsql-hackers по дате отправления
От: Jim Nasby
Дата:
От: Jim Nasby
Дата:
Сообщение: Re: Trivial HugeTLB Benchmark
FAQ