Bloat check query - Mailing list pgsql-general

From Keith Fiske
Subject Bloat check query
Date
Msg-id CAG1_KcCVCo1k3h1gRLS5zy-2e1zVv2KJHUszPf-W5-pZJPGhfg@mail.gmail.com
Whole thread Raw
Responses Re: Bloat check query  (Keith Fiske <keith@omniti.com>)
List 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

pgsql-general by date:

Previous
From: Ramesh T
Date:
Subject: Re: POWA tool
Next
From: Keith Fiske
Date:
Subject: Re: Bloat check query