Re: Finding out free space?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux