Re: Show in psql does any calculations? - Mailing list pgsql-general

From Filip Rembiałkowski
Subject Re: Show in psql does any calculations?
Date
Msg-id CAP_rwwm48vAA7bBi8=vNA4=nYjqOpHWga3K-mJbrB-d=5AGtoA@mail.gmail.com
Whole thread Raw
In response to Re: Show in psql does any calculations?  (Raghavendra <raghavendra.rao@enterprisedb.com>)
Responses Re: Show in psql does any calculations?
List pgsql-general
so as long as actual logic is buried in the guts of psql, best you can
do in SQL to get human-readable value is

SELECT name, setting, unit, case when unit='kB' then
pg_size_pretty(setting::int*1024) when unit='8kB' then
pg_size_pretty(setting::int*1024*8) else coalesce(setting||'
'||unit,setting) end AS setting_human_readable,
context FROM pg_settings WHERE category like '%Resource Usage /
Memory%' ORDER BY name;


Filip


2011/12/27 Raghavendra <raghavendra.rao@enterprisedb.com>:
>
> On Tue, Dec 27, 2011 at 3:16 PM, Guillaume Lelarge <guillaume@lelarge.info>
> wrote:
>>
>> On Tue, 2011-12-27 at 14:56 +0530, Raghavendra wrote:
>> > Respected,
>> >
>> > Am in PG 9.1. See below ouputs.
>> >
>> > *By query:*
>> > postgres=# SELECT name, setting, unit,context FROM pg_settings WHERE
>> > category like '%Resource Usage / Memory%' ORDER BY name;
>> >            name            | setting | unit |  context
>> > ---------------------------+---------+------+------------
>> >  maintenance_work_mem      | 16384   | kB   | user
>> >  max_prepared_transactions  | 0          |       | postmaster
>> >  max_stack_depth                 | 2048    | kB   | superuser
>> >  shared_buffers                     | 4096    | 8kB  | postmaster
>> >  temp_buffers                       | 1024    | 8kB  | user
>> >  track_activity_query_size     | 1024    |      | postmaster
>> >  work_mem                          | 2048    | kB   | user
>> > (7 rows)
>> >
>> > *By session command:*
>> > postgres=# show work_mem ;
>> >  work_mem
>> > ----------
>> >  2MB
>> > (1 row)
>> >
>> > postgres=# show shared_buffers ;
>> >  shared_buffers
>> > ----------------
>> >  32MB
>> > (1 row)
>> >
>> > By the query, its clear that "setting" value is multiplied with unit to
>> > get
>> > the sesssion level command value which is displayed here. However, I am
>> > trying to get the query of it which is executed at session-level with
>> > SHOW
>> > command. I tried "psql -E" option tooo..
>> >
>> > -bash-3.2$ psql -E
>> > psql.bin (9.1.0)
>> > Type "help" for help.
>> >
>> > postgres=# show work_mem ;
>> >  work_mem
>> > ----------
>> >  2MB
>> > (1 row)
>> >
>> > Why the query is not displayed with -E option ?
>> > Am I missing something here, please help me in clarifying it.
>> >
>>
>> -E works only for meta-commands, ie commands which start with \
>>
>> Moreover, SHOW is an actual SQL command. So I'm not sure what you're
>> trying to find with the -E command line switch.
>>
>
> Hey, Many thanks for your quick response.
>
> I am looking how SHOW command value is converted into MB's or GB's ?
>
> ---
> Regards,
> Raghavendra
> EnterpriseDB Corporation
> Blog: http://raghavt.blogspot.com/
>

pgsql-general by date:

Previous
From: Bèrto ëd Sèra
Date:
Subject: Re: Error while loading sql file
Next
From: Adrian Klaver
Date:
Subject: Re: Error while loading sql file