Re: vacuum verbose relations reporting - Mailing list pgsql-admin

From Jeff Frost
Subject Re: vacuum verbose relations reporting
Date
Msg-id 48B4EDF7.9080505@frostconsultingllc.com
Whole thread Raw
In response to Re: vacuum verbose relations reporting  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: vacuum verbose relations reporting  (Jeff Frost <jeff@frostconsultingllc.com>)
List 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@frostconsultingllc.com>
Frost Consulting, LLC 	http://www.frostconsultingllc.com/
Phone: 916-647-6411	FAX: 916-405-4032

pgsql-admin by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: vacuum verbose relations reporting
Next
From: "Merlin Moncure"
Date:
Subject: Re: [GENERAL] PITR - base backup question