Re: vacuum verbose relations reporting

From: Jeff Frost <jeff(at)frostconsultingllc(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Carol Walter <walterc(at)indiana(dot)edu>, pgsql-admin(at)postgresql(dot)org
Subject: Re: vacuum verbose relations reporting
Date: 2008-08-27 06:02:31
Message-ID: 48B4EDF7.9080505@frostconsultingllc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Alvaro Herrera wrote:
> Jeff Frost wrote:
>
>
>> Tom, is there an easy (or hard) way to count relations from all DBs by
>> using the system catalogs?
>>
>
> Just do a count(*) from pg_class where relkind in ('r', 't', 'i'), and
> sum across all databases (you need to connect to each one).
>
> (Actually you only need to count indexes that are btrees, if you need
> such a distinction. Other indexes do not use the FSM as far as I know).
>
Perfect, so here's a little script that does the trick then:

#!/bin/sh

PSQL=/usr/bin/psql
DATABASES=$($PSQL -lt | awk {'print $1'} | grep -v template0 )
RELATIONS=0

for DB in $DATABASES; do
RELATIONS=$(($RELATIONS + $($PSQL --tuples-only --command "select
count(*) from pg_class where relkind IN ('r', 't', 'i');" $DB) ))
done

echo $RELATIONS

Thanks folks!

--
Jeff Frost, Owner <jeff(at)frostconsultingllc(dot)com>
Frost Consulting, LLC http://www.frostconsultingllc.com/
Phone: 916-647-6411 FAX: 916-405-4032

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Merlin Moncure 2008-08-27 12:12:31 Re: [GENERAL] PITR - base backup question
Previous Message Alvaro Herrera 2008-08-27 01:36:12 Re: vacuum verbose relations reporting