【PG常用命令】postgresql資料庫統計物件大小

xysoul_雲龍發表於2019-01-13
--檢視資料庫大小,不計算索引
select pg_size_pretty(pg_database_size('mydb'));
--檢視資料庫大小,包含索引
select pg_size_pretty(pg_total_size('mydb'));
--檢視錶中索引大小
select pg_size_pretty(pg_indexes_size('test_1'));
--檢視錶大小,不包括索引
select pg_size_pretty(pg_relation_size('test_1'));  
--or
\dt+ test_1
--檢視錶大小,包括索引
select pg_size_pretty(pg_total_relation_size('test_1'));  
--檢視某個模式大小,包括索引。不包括索引可用pg_relation_size
select schemaname,round(sum(pg_total_relation_size(schemaname||'.'||tablename))/1024/1024) "Mb" from pg_tables where schemaname='mysch' group by 1;
--檢視錶空間大小
select pg_size_pretty(pg_tablespace_size('pg_global'));
--檢視錶對應的資料檔案
select pg_relation_filepath('test_1');
--切換log日誌檔案到下一個
select pg_rotate_logfile();
--切換日誌
select pg_switch_xlog();
checkpoint


函式名 返回型別 描述
pg_column_size(any) int 儲存一個指定的數值需要的位元組數(可能壓縮過)
pg_database_size(oid) bigint 指定OID的資料庫使用的磁碟空間
pg_database_size(name) bigint 指定名稱的資料庫使用的磁碟空間
pg_indexes_size(regclass) bigint 關聯指定表OID或表名的表索引的使用總磁碟空間
pg_relation_size(relation regclass, fork text) bigint 指定OID或名的表或索引,透過指定fork('main', 'fsm' 或'vm')所使用的磁碟空間
pg_relation_size(relation regclass) bigint pg_relation_size(..., 'main')的縮寫
pg_size_pretty(bigint) text Converts a size in bytes expressed as a 64-bit integer into a human-readable format with size units
pg_size_pretty(numeric) text 把以位元組計算的數值轉換成一個人類易讀的尺寸單位
pg_table_size(regclass) bigint 指定表OID或表名的表使用的磁碟空間,除去索引(但是包含TOAST,自由空間對映和可視對映)
pg_tablespace_size(oid) bigint 指定OID的表空間使用的磁碟空間
pg_tablespace_size(name) bigint 指定名稱的表空間使用的磁碟空間
pg_total_relation_size(regclass) bigint 指定表OID或表名使用的總磁碟空間,包括所有索引和TOAST資料


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2510782/,如需轉載,請註明出處,否則將追究法律責任。

相關文章