顯示廣告
隱藏 ✕
看板 P_qman
作者 cuteman0725(訪客)
標題 [資料庫] Postgresql 如何取得資料庫的大小?
時間 2010年01月31日 Sun. PM 06:05:00


來源: http://www.andowson.com/posts/list/293.page

使用PostgreSQL資料庫一段時間後,想瞭解一下資料庫目前的大小,可以透過以下的指令來查詢:
smilie PostgreSQL 8.1以後的版本:
view source
print?
1
	
psql db_name  -- db_name can be any database
2
	
 
3
	
SELECT pg_database.datname,
4
	
pg_size_pretty(pg_database_size(pg_database.datname)) AS size
5
	
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
view source
print?
1
	
psql db_name  -- db_name can be any database
2
	
 
3
	
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://www.synack.info/how-big-is-postgresql-database-size/
http://mi.nws.noaa.gov/oh/hrl/hseb/postgreSQL/Creating_Database.doc



--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: cuteman0725  來自: 122.116.161.178  時間: 2010-01-31 18:05:00
※ 編輯: cuteman0725  來自: 122.116.161.178  時間: 2010-01-31 18:05:46
※ 看板: P_qman 文章推薦值: 0 目前人氣: 0 累積人氣: 229 
※ 文章分類: 程式
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇