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 >