From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Craig Ringer <craig(at)2ndquadrant(dot)com>, David Fetter <david(at)fetter(dot)org>, Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: New partitioning - some feedback |
Date: | 2017-07-12 14:58:08 |
Message-ID: | 20170712145808.r4m4m5qsl35yqkxe@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Amit Langote wrote:
> On 2017/07/11 13:34, Alvaro Herrera wrote:
> > Robert Haas wrote:
> >> On Mon, Jul 10, 2017 at 2:15 AM, Amit Langote
> >> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> >
> >>> Actually, if \d had shown RELKIND_PARTITIONED_TABLE tables as of Type
> >>> "partitioned table", we wouldn't need a separate flag for marking a table
> >>> as having partitions.
> >>
> >> I think that is false. Whether something is partitioned and whether
> >> it is a partition are independent concerns.
> >
> > Maybe this discussion is easier if we differentiate "list tables" (\dt,
> > or \d without a pattern) from "describe table" (\d with a name pattern).
>
> I think this discussion has mostly focused on "list tables" so far.
Yes, which I think is a mistake, because for some things you definitely
need a list of partitions of the table in question. And "describe
table" can fulfill that role perfectly well, ISTM.
> > It seems to me that the "describe" command should list partitions --
> > perhaps only when the + flag is given.
>
> That's what happens today.
So no further changes needed there -- good.
> > However, the "list tables"
> > command \dt should definitely IMO not list partitions.
>
> Do you mean never? Even if a modifier is specified? In the patch I
> proposed, \d! (or \d+ or \d++, if '!' turns out to be unpopular) will list
> partitions, but \d or \dt won't. That is, partitions are hidden by default.
I don't think there is any need for a single list of all partition of
all tables -- is there? I can't think of anything, but then I haven't
been exposed very much to this feature yet. For now, I lean towards "never".
(A different consideration is the use case of listing relation
relfrozenxid/relminmxid ages, but that use case is already not fulfilled
by psql metacommands so you still need custom catalog queries).
I don't think \d! works terribly well as a mental model, but maybe
that's just me.
> > Maybe \dt should
> > have some flag indicating whether each table is partitioned.
>
> So it seems most of us are in favor for showing partitioned tables as
> "partitioned table" instead of "table" in the table listing.
Yeah, that sounds good to me.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-07-12 15:11:50 | Re: building libpq.a static library |
Previous Message | Dmitry Dolgov | 2017-07-12 14:51:23 | Re: Causal reads take II |