Re: Finding out free space? - Mailing list pgsql-admin

From Andy Shellam (Mailing Lists)
Subject Re: Finding out free space?
Date
Msg-id 4559EDFF.9010107@mailnetwork.co.uk
Whole thread Raw
In response to Finding out free space?  ("Hans Guijt" <hg@terma.com>)
Responses Re: Finding out free space?  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-admin
I'm not too sure where the default Postgres data directory is, but to
find out how much free space a database is using, you need to know it's
OID.  Run the query:

SELECT OID, Datname FROM pg_database;

to get a list of database names and their corresponding OIDs.  Then you
can do (standard Unix command)

du -sh $PGDIR/$OID

(where $PGDIR is the data directory root for PGSQL, and $OID is the oid
of the database).  eg. for database postgres on my system (note
/endeavour/dbstore is my PG data root):

[root@sydney /]# echo "SELECT OID, Datname FROM
pg_database;"|/usr/local/pgsql/bin/psql -d postgres -U postgresql

  oid  |   datname
-------+-------------
 10793 | postgres
........

[root@sydney /]# du -sh /endeavour/dbstore/base/10793
3.6M    /endeavour/dbstore/base/10793

To get the amount of freespace used in PGSQL as a whole, use "du -sh
$PGDIR" (replace $PGDIR with your PG data root.)

Hope this gets you started.  To find your cluster root, you could do a
"find / -name PG_VERSION", as these files will only be under your data
root - this highest-level one returned will be your data root.

Andy.

Hans Guijt wrote:
> I need to provide an alarm function that will alert my customer when
> the amount of free space in a database has reached some critical
> threshold. This problem is not entirely trivial, since free space can
> be located both in the file system and in the database itself.
>
> I'm not looking for a particularly accurate function (and suspect that
> one is probably not feasible anyway) - anything that comes to within a
> gigabyte of the actual value is fine with me. Basically I need to
> figure out two things:
>
> 1. Where does Postgres stores its datafiles? This will allow me to
> figure out how much space is still available on the filing system.
>
> 2. How much space is unused within the data files themselves?
>
> I'd appreciate a pointer on where I should look for this sort of
> information.
>
>
> Regards,
>
> Hans Guijt
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org
>
> !DSPAM:37,4559da5e40419901994390!
>
>


--
Andy Shellam
NetServe Support Team

the Mail Network
"an alternative in a standardised world"

p: +44 (0) 121 288 0832/0839
m: +44 (0) 7818 000834


pgsql-admin by date:

Previous
From: Jerry Sievers
Date:
Subject: Re: validating incoming string length...
Next
From: "Jim C. Nasby"
Date:
Subject: Re: running initdb on running database