Re: Faster way of estimating database size

From: Fabio Pardi <f(dot)pardi(at)portavita(dot)eu>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Faster way of estimating database size
Date: 2018-06-15 07:45:50
Message-ID: d973812c-cc67-2795-c1c4-8c89bacd1a61@portavita.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Sam,

When behind a terminal I use \l+ to show the size of the databases, since it is handy to remember. It shows db size in a "pretty size".

Timing both commands, i see that \l+ takes more or less the same time your query takes, but I think your query better fits the monitoring purpose.

But the real point here is why are you running the command every ~3 seconds? (and perhaps, why 200 databases?)

I would focus on that issue, and keep using your query.

regards,

fabio pardi

On 15/06/18 02:29, Sam Saffron wrote:
> Hi there,
>
> At the moment we are using:
>
> SELECT pg_database.datname, pg_database_size(pg_database.datname) as
> size FROM pg_database
>
> To gather size of databases for monitoring purposes in Prometheus.
>
> Our pg stat logging now shows this is our number one query cause we
> seem to be running it for some crazy reason 19 times a minute. Clearly
> this is too much and we should (and will) cache results for a bit.
>
> Nonetheless, I notice it take 400ms to run on our cluster (with a few
> 200 dbs) and was wondering if there is a quicker way of estimating
> this number?
>
> Sam
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message hubert depesz lubaczewski 2018-06-15 07:59:19 Re: Faster way of estimating database size
Previous Message Laurenz Albe 2018-06-15 06:54:52 Re: Trying to understand odd trigger behavior