Donnerstag Aug. 02, 2007

POSTGRESQL: Wie finde ich raus, wieviel Speicher eine DB auf der Platte verbraucht

Tino Schwarze hat dazu eine nettes, kleines Skipt auf der Postgres-Mailingliste gepostet, welches relativ selbsterklärend ist:

#!/bin/bash
#
# Shell script to determine disk usage of PostgreSQL databases.
# by Tino Schwarze/Community4you
#

PGDATADIR=/data/db1
PGPORT=5432
PSQLBIN=/opt/pgsql/8.2.4/bin/psql
PGOPTS="-U postgres"

echo "PostgreSQL database sizes"
$PSQLBIN $PGOPTS -p $PGPORT -t -F " " -A template1 -c 'select oid,datname from pg_database' | \
        while read oid dbname ; do
                [ "$dbname" != "template1" ] || continue
                [ "$dbname" != "template0" ] || continue
                size="`du -sh $PGDATADIR/base/$oid | cut -f 1`"
                while [ ${#dbname} -lt 16 ] ; do dbname="$dbname " ; done
                printf "$dbname\t%6s\n" $size
        done

Have fun!

Technorati Tags:

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet