練功房推薦書單

  • 猛虎出柙雙劍合璧版--最新 OCA / OCP Java SE 7 Programmer 專業認證 (電子書)
  • 流浪教師存零股存到3000萬(全新增修版)(書+DVD)
  • 開始在關西自助旅行(京都‧大阪‧神戶‧奈良)(全新增訂版)
  • 不敗教主的300張股票存股術
如何查詢PostgreSQL資料庫的大小 RSS feed
Forum Index » PostgreSQL
Author Message
andowson

七段學員
[Avatar]

Joined: 2007/1/2
Messages: 707
Location: 台北
Offline
使用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

分享經驗 累積智慧
[WWW] [MSN]
 
Forum Index » PostgreSQL
Go to:   
Mobile view