Re: Parameter value from (mb/gb) to bytes

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: Parameter value from (mb/gb) to bytes
Дата
Msg-id CABUevEyfWsWTUu67v+t2pE+mU2YUxQXmpw60AwhX=Ew5AveH4A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Parameter value from (mb/gb) to bytes  (Thomas Kellerer <shammat@gmx.net>)
Ответы Re: Parameter value from (mb/gb) to bytes  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Parameter value from (mb/gb) to bytes  (Christoph Moench-Tegeder <cmt@burggraben.net>)
Список pgsql-general


On Wed, Oct 14, 2020 at 3:57 PM Thomas Kellerer <shammat@gmx.net> wrote:
Thomas Kellerer schrieb am 14.10.2020 um 15:55:
> Raul Kaubi schrieb am 14.10.2020 um 12:22:
>> Is there a simple way to dynamically get for example parameter
>> „shared buffers“ value (megabytes or gigabytes) to bytes, for
>> monitoring perspective..?>
>>  
>>
>> At the moment, this gives me value in GB.
>>
>> # psql -U postgres -Atc "show shared_buffers;"
>> 1GB
>>
>> This value may as well be in MB. So I am looking a way to dynamically get the value in bytes.
>
> Instead of using "show" you can use a SELECT with pg_size_bytes():
>
>   select pg_size_bytes(setting)
>   from pg_settings
>   where name = 'shared_buffers';

Ah, forgot that shared_buffers is in 8K pages.

So you actually need:

   select pg_size_bytes(setting) * 8192
   from pg_settings
   where name = 'shared_buffers';

Actually, it doesn't have to be in 8k pages, that depends on the build options. So if you want to be perfectly correct, you should probably multiply with current_setting('block_size') instead of a hardcoded 8192 :)

--

В списке pgsql-general по дате отправления:

Предыдущее
От: Andreas Kretschmer
Дата:
Сообщение: bug in PG13?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Parameter value from (mb/gb) to bytes