From: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> |
---|---|
To: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Declarative partitioning - another take |
Date: | 2016-08-16 06:30:04 |
Message-ID: | CAFjFpRd=WjuS_K_YhDta0PtTYLijDyZ_NRQRV+N50DDNDgDP3Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> I think it makes sense to keep calling it a table because it has all the
> logical properties of a table even though it will differ from a regular
> table on the basis of physical implementation details such as that it does
> not own physical storage. Am I missing something?
>
> >
> > + <entry><structfield>partexprs</structfield></entry>
> >
> > There's a certain symmetry between this and what we do for indexes,
> > but I'm wondering whether there's a use case for partitioning a table
> > by an expression rather than a column value. I suppose if you've
> > already done the work, there's no harm in supporting it.
>
> Yeah, it's not a whole lot of code to manage expressions alongside simple
> column references.
>
Users who would like to partition their tables by "age" will partition
those by the month or year extracted out of a date column e.g. order_date.
They will find it convenient to use an expression (extract(month from
date)) as a partition key, instead of storing month or year as a separate
column.
--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Korotkov | 2016-08-16 06:43:13 | Re: Index Onlys Scan for expressions |
Previous Message | dandl | 2016-08-16 06:24:27 | Re: C++ port of Postgres |