On 2017/07/10 15:32, Craig Ringer wrote:
> On 8 July 2017 at 00:03, David Fetter <david@fetter.org> wrote:
>
>> On Fri, Jul 07, 2017 at 10:29:26AM +0900, Amit Langote wrote:
>>> Hi Mark,
>>>
>>> On 2017/07/07 9:02, Mark Kirkwood wrote:
>>>> I've been trying out the new partitioning in version 10. Firstly, I
>> must
>>>> say this is excellent - so much nicer than the old inheritance based
>> method!
>>>
>>> Thanks. :)
>>>
>>>> My only niggle is the display of partitioned tables via \d etc. e.g:
>>>>
>>>> part=# \d
>>>> List of relations
>>>> Schema | Name | Type | Owner
>>>> --------+----------------------+-------+----------
>>>> public | date_fact | table | postgres
>>>> public | date_fact_201705 | table | postgres
>>>> public | date_fact_201706 | table | postgres
>>>> public | date_fact_20170601 | table | postgres
>>>> public | date_fact_2017060100 | table | postgres
>>>> public | date_fact_201707 | table | postgres
>>>> public | date_fact_rest | table | postgres
>>>> (7 rows)
>>
>> Would showing relispartition=tru tables only in \d+ fix this?
>> <http://www.postgresql.org/mailpref/pgsql-hackers>
>>
>
> I think so.
I posted a patch upthread which makes \d hide partitions (relispartition =
true relations) and include them if the newly proposed '!' modifier is
specified. The '+' modifier is being used to show additional detail of
relations chosen to be listed at all, so it seemed like a bad idea to
extend its meaning to also dictate whether partitions are to be listed.
We have a separate 'S' modifier to ask to list system objects (which are,
by default hidden), so it made sense to me to add yet another modifier
(aforementioned '!') for partitions.
> I'd like to add a flag of some kind to \d column output that marks a table
> as having partitions, but I can't think of anything narrow enough and still
> useful.
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. But we've avoided using that term ("partitioned
table") in the error messages and such, so wouldn't perhaps be a good idea
to do that here. But I wonder if we (also) want to distinguish
partitioned tables from regular tables? I understood that there is some
desire for partitions be distinguished when they are listed in the output,
either by default or by using a modifier.
Thanks,
Amit