Re: proposal - psql - show longest tables - Mailing list pgsql-hackers

From Robert Haas
Subject Re: proposal - psql - show longest tables
Date
Msg-id CA+Tgmoa00f1Akn9upYVyHei1+e13n=ZzbGNUVeXeuod2FL4nGg@mail.gmail.com
Whole thread Raw
In response to Re: proposal - psql - show longest tables  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-hackers
On Mon, Jul 22, 2013 at 3:13 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
> On Mon, Jul 22, 2013 at 2:03 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> On Sun, Jul 21, 2013 at 12:47 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>> Hello all
>>>
>>> I very often use a little bit adjusted psql system queries to
>>> detection TOP N sized tables. I am thinking so it can be useful for
>>> all users
>>>
>>> I propose a few new commands
>>>
>>> \dts [N|size] ... show N largest tables | show tables larger than size
>>> ordered by size
>>> \dis [N|size] ... show N largest indexes | show indexes larger than
>>> size ordered by size
>>> \dtst [N|size] ... show N largest total size | show tables where total
>>> size is larger than size ordered by total size
>>> \dtr [N]   ... show N largest tables (ordered by rows)
>>>
>>> example:
>>>
>>> \dts 10  --- top 10 tables ordered by size
>>> \dts 10MB -- tables larger than 10MB ordered by size
>>>
>>>  Schema |    Name     | Type  |    Owner    | Size
>>> --------+-------------+-------+-------------+-------+-------------
>>>  public | eshop_users | table | eshop_owner | 16 kB
>>>  public | zamestnanci | table | eshop_owner | 16 kB
>>>
>>> What do you think about this proposal? Comments, notes?
>>
>> I think our \d commands are in inscrutable morass of indecipherable
>> gobbledygook as it is, and this is only one more step down the road to
>> complete insanity.  :-(
>>
>> Rather than just continuing to add more imposible-to-remember syntax,
>> we really need a better design here.
>
> These type of administrative tasks should be implemented as stored
> procedures or functions, not enhancements to psql.  That way non-psql
> clients can leverage them and you can integrate them to other queries.
>  Another advantage is that they can be implemented as extension.
>
> SELECT * from top5();
>
> Is a little more of a pain to type.  But with my psql-fu I can cut
> that down with \i if I'm so inclined.

Yeah, I think that's a very reasonable approach to this kind of problem.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [COMMITTERS] pgsql: Allow background workers to be started dynamically.
Next
From: Markus Wanner
Date:
Subject: Re: Proposal: template-ify (binary) extensions