會員註冊 / 登入  |  電腦版  |  Jump to bottom of page

PostgreSQL » 如何查詢PostgreSQL資料庫的大小

發表人: andowson, 七段學員
2008-12-20 14:04:51
使用PostgreSQL資料庫一段時間後,想瞭解一下資料庫目前的大小,可以透過以下的指令來查詢:
smilie PostgreSQL 8.1以後的版本:
psql db_name  -- db_name can be any database


SELECT pg_database.datname,
pg_size_pretty(pg_database_size(pg_database.datname)) AS size
FROM pg_database;

顯示的結果類似如下:
datname | size
-----------+---------
postgres | 3537 kB
support | 99 MB
jtrac | 8497 kB
template1 | 3480 kB
template0 | 3480 kB

注意事項:pg_database_size()需PostgreSQL 8.1以上才有支援

smilie PostgreSQL7.4以前的版本
因每個資料庫都有一個oid,而每個oid都有一個對應的目錄名稱,先用下面的指令找出資料庫的oid
psql db_name  -- db_name can be any database


select oid,datname from pg_database;

oid | datname
--------+----------------
1 | template1
17141 | template0
20744 | forum
474667 | jtrac
498681 | trac_onlinemsg
499009 | trac_webmail
509099 | olat
511373 | testdb
514460 | roller

然後切換目錄到/var/lib/pgsql/data/base下
cd /var/lib/pgsql/data/base
使用du --si來取得使用硬碟空間的大小
-bash-3.00$ du --si
4.7M ./511373==>testdb
5.3M ./474667==>trac
4.7M ./1==>template1
5.8M ./498681==>trac_onlinemsg
31M ./514460==>roller
7.2M ./509099==>olat
5.9M ./499009==>trac_webmail
4.1k ./20744/pgsql_tmp
131M ./20744==>forum
4.6M ./17141==>template0

參考資料:
http://mi.nws.noaa.gov/oh/hrl/hseb/postgreSQL/Creating_Database.doc




會員註冊 / 登入  |  電腦版  |  Jump to top of page