Bloat check query

From: Keith Fiske <keith(at)omniti(dot)com>
To: PGSQL Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Bloat check query
Date: 2014-08-26 21:44:35
Message-ID: CAG1_KcCVCo1k3h1gRLS5zy-2e1zVv2KJHUszPf-W5-pZJPGhfg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

So I recently wrote this script to help us in monitoring for table/index
bloat

https://github.com/keithf4/pg_bloat_check

I based my query off of the one contained in check_postgres, since I
thought it seemed fairly accurate with what I was expecting to get back.

https://github.com/bucardo/check_postgres/blob/master/check_postgres.pl#L3512

A client however, showed me that running the bloat check from heroku brings
back some additional results. The additional results are actually tables we
were kind of expecting to see that the check_postgres query does not return.

I've tried decoding these queries to understand what they're actually
doing, but they're both quite a bit over my head. I did notice one thing in
the check_postgres one:

CASE WHEN v ~ 'mingw32' OR v ~ '64-bit' THEN 8 ELSE 4 END AS ma

Is that a typo? It seems to be looking for the 32bit version of mingw but
the 64-bit version when compiled elsewhere. The heroku version just sets
this value to 4 outright (since they know what they're running). I tried
changing this value to see if it made a difference, but it doesn't seem to.

Anyone that's better able to evaluate which one of these two bloat check
queries is more accurate able to provide some assistance?

--
Keith Fiske
Database Administrator
OmniTI Computer Consulting, Inc.
http://www.keithf4.com

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Keith Fiske 2014-08-26 21:48:43 Re: Bloat check query
Previous Message Larry White 2014-08-26 14:49:57 Re: indexed range queries on jsonb?