Re: On partitioning
От | Robert Haas |
---|---|
Тема | Re: On partitioning |
Дата | |
Msg-id | CA+TgmoaE6V=SCrzdsbRcJ+SVFxqWdAPXGp_-GxFEF74Cne9zHw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: On partitioning (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Список | pgsql-hackers |
On Wed, Dec 10, 2014 at 9:22 AM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > The problem with naming partitions is that the user has to pick names > for every partition, which is tedious and doesn't provide any > significant benefit. The input I had from users of other partitioning > systems was that they very much preferred not to name the partitions at > all, which is why I chose the PARTITION FOR VALUE syntax (not sure if > this syntax is exactly what other systems use; it just seemed the > natural choice.) FWIW, Oracle does name partitions. It generates the names automatically if you don't care to specify them, and the partition names for a given table live in their own namespace that is separate from the toplevel object namespace. For example: CREATE TABLE sales ( invoice_no NUMBER, sale_year INT NOT NULL, sale_month INT NOT NULL, sale_day INTNOT NULL ) STORAGE (INITIAL 100K NEXT 50K) LOGGING PARTITION BY RANGE ( sale_year, sale_month, sale_day) ( PARTITIONsales_q1 VALUES LESS THAN ( 1999, 04, 01 ) TABLESPACE tsa STORAGE (INITIAL 20K, NEXT 10K), PARTITIONsales_q2 VALUES LESS THAN ( 1999, 07, 01 ) TABLESPACE tsb, PARTITION sales_q3 VALUES LESS THAN ( 1999,10, 01 ) TABLESPACE tsc, PARTITION sales q4 VALUES LESS THAN ( 2000, 01, 01 ) TABLESPACE tsd) ENABLEROW MOVEMENT; I don't think this practice has much to recommend it. We're going to need a way to refer to individual partitions by name, and I don't see much benefit in making that name something other than what is stored in pg_class.relname. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: